Weapon usage monitoring system with geolocation-based authentication and authorization

ABSTRACT

Systems and methods are provided for monitoring geolocations of a plurality of weapons within a deployment location, where each of the weapons includes one or more sensors that produce more or more signals, including a response infrastructure configured for management of the weapons, a server device running application software that uses the one or more signals received from each of the weapons to detect a geolocation of a weapon and causes the response infrastructure to determine if the detected geolocation of the weapon conforms to the stored rule regarding the permitted weapon geolocation, and a threat detection and analysis module that performs an action based on a confirmation that the detected geolocation of the weapon does not conform to the stored rule regarding the permitted weapon geolocation.

CROSS-REFERENCE TO RELATED APPLICATIONS

This application is a continuation of U.S. patent application Ser. No.16/995,990, filed Aug. 18, 2020, and published on Dec. 3, 2020 as U.S.Patent Publication 2020/0378708 which is a bypass continuation ofInternational Patent Application No. PCT/US2019/055925, filed Oct. 11,2019, and published on Apr. 16, 2020, as Publication No. WO/2020/077254,which claims the benefit of U.S. Provisional Patent Application Ser. No.62/745,028, filed Oct. 12, 2018. This application is also a continuationof U.S. patent application Ser. No. 16/599,976 filed Oct. 11, 2019, andpublished on Apr. 16, 2020 as U.S. Patent Publication 2020/0117900. Thisapplication is also a continuation of U.S. patent application Ser. No.16/460,348 filed Jul. 2, 2019, and published on Jan. 2, 2020 as U.S.Patent Publication 2020/0003512, which is a bypass continuation ofInternational Patent Application No. PCT/US2018/015614, filed Jan. 27,2018, and published on Aug. 2, 2018, as Publication No. WO/2018/140835,which claims the benefit of U.S. Provisional Patent Application Ser. No.62/451,620, filed Jan. 27, 2017. Each of the above-identifiedapplications is hereby incorporated by reference as if fully set forthin its entirety.

BACKGROUND

Typically, firearm tracking systems have been very limited, oftenrequiring complex manufacturing steps in order to enable a determinationof whether a weapon has been used. These systems typically have issueswith reliability, have poor performance (e.g., short battery life), lackthe ability to add new features, and suffer other limitations.Separately, systems for providing remote support to firearm users arealso typically very limited. For example, a remote support usermonitoring a deployment of firearm users within a deployment location,such as a combat zone, relies on the information reported to him or herin order to make appropriate decisions regarding providing support forthose users. However, these conventional systems require a remotesupport user to manually analyze information about the firearm users andto manually determine how to support those firearm users, which may, inat least some cases, take more time than is available. For example,during an active fire fight between firearm users and hostilecombatants, the amount of time it takes to determine to deployreinforcements, deliver additional ammunition, or otherwise support thefirearm users can dictate the success of the engagement. Accordingly, aneed exists for improved systems that involve recording and trackingactivities of individuals, including more advanced methods and systemsfor tracking discharges from firearms and more advanced methods formonitoring conditions of firearms, other assets, and users within adeployment location and automating actions to perform for remotelysupporting those firearm users, such as in preparation for, during,and/or after an engagement with a hostile threat.

SUMMARY

A firearm monitoring and remote support system is configured to collectsignals representing real-time conditions of firearms, devices, andusers within a deployment location. Those signals can be used to detectthreats within the deployment location, to determine responses toperform based on those threats, or otherwise to support users of thefirearms. For example, sensors within firearms and/or other assets canbe used to determine that one or more firearms are drawn on a specifictarget within the deployment location. In another example, sensorswithin a firearm can be used to determine that the ammunition supply forthe firearm is depleted or nearly depleted. Appropriate responses tosuch situations, such as by ordering for reinforcements, additionalammunition deliveries, or the like, can be automated based on the sensorinformation. The firearm monitoring and remote support system is furtherconfigured to output one or more graphical user interfaces (GUIs). TheGUIs may be used for visualizing information associated with users offirearms and/or threats detected nearby those users. The GUIs mayfurther be used to generate, review, and/or approve actions to take inresponse to a threat detection, for example, to provide support to theusers of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support isprovided. The system comprises a connection point and a server device.The connection point receives signals from a plurality of firearmswithin a deployment location, the signals including sensor informationrecorded using sensors of the firearms. The server device runsapplication software that receives the signals from the connection pointand processes the signals to generate a GUI representing positions andorientations of the firearms within the deployment location, the GUIfurther representing cones of fire for each of the firearms, wherein theapplication software automatically updates the GUI based on signalsindicating changes in the positions and orientations of one or more ofthe firearms, wherein the updated GUI represents the cones of fire forat least two of the firearms as coalescing, wherein the coalesced conesof fire are used to detect a threat within the deployment location.

In embodiments of the system, the sensors include one or more ofgeolocation sensors, image sensors, or inertial motion sensors.

In embodiments of the system, the cones of fire are represented in theGUI based on measurements recorded using the inertial motion sensors ofrespective firearms, and the measurements indicate a change inorientation of the respective firearms.

In embodiments of the system, the change in orientation of a firearmrefers to an orientation of the firearm changing from one of a grippingorientation or a drawing orientation to one of a pointing orientation ora firing orientation.

In embodiments of the system, the GUI includes one or more viewsincluding a top-down geographic view of the deployment location, and thepositions and orientations of the firearms are represented within thetop-down geographic view.

In embodiments of the system, the one or more views further include oneor more of a three-dimensional firearm orientation view, atwo-dimensional recoil tracking view, or a user body camera feed view.

In embodiments of the system, the updated GUI further represents thedetected threat within the deployment location.

In embodiments of the system, the updated GUI includes visual promptsrepresenting information relating to one or more users of the firearms,the detected threat, or both.

In embodiments of the system, the updated GUI includes a legend of iconsrepresented within the updated GUI, the icons corresponding to one ormore users of the firearms, the detected threat, or both.

In embodiments of the system, the connection point receives some of thesignals from wearable devices worn by users of the firearms, and theapplication software uses sensor information included in the signalsreceived from the wearable devices to update the GUI.

In embodiments of the system, the connection point receives some of thesignals from robotic devices, and the application software uses sensorinformation included in the signals received from the robotic devices toupdate the GUI.

In embodiments of the system, the connection point is one of a pluralityof connection points which receives signals used by the applicationsoftware to generate or update the GUI.

In embodiments of the system, a size of a cone of fire of a firearmrepresented within the GUI is based on one or both of a skill level of auser of the firearm or a type of the firearm.

In embodiments, a method for firearm monitoring and remote support isprovided. The method comprises generating a GUI including a top-downgeographic view of a deployment location and cones of fire of firearmswithin the deployment location, the cones of fire representing positionsand the orientations of the firearms determined based on first sensorinformation received from one or more sensors of each of the firearms;receiving second sensor information from at least one of the firearms,the second sensor information indicating a change in one or both of theposition or the orientation of the at least one of the firearms;responsive to receiving the second sensor information, automaticallyupdating the GUI according to the second sensor information, the updatedGUI representing a change to at least one of the cones of fire causingthe at least one of the cones of fire and at least one other cone offire to coalesce; and responsive to automatically updating the GUI,outputting instructions for displaying or rendering the GUI to one ormore computing devices.

In embodiments of the method, the method further comprises detecting athreat within the deployment location based on the coalesced cones offire; and further automatically updating the GUI to represent thedetected threat within the deployment location.

In embodiments of the method, the cones of fire are represented in theGUI based on measurements recorded using sensors of respective firearms,and the measurement recorded using the sensor of a firearm refers to anorientation of the firearm changing from one of a gripping orientationor a drawing orientation to one of a pointing orientation or a firingorientation

In embodiments of the method, the sensors include one or more ofgeolocation sensors, image sensors, or inertial motion sensors.

In embodiments of the method, the first sensor information and thesecond sensor information are received using a connection point, and themethod further comprises deploying the connection point within thedeployment location; and configuring the connection point to receivesignals from the firearms.

In embodiments of the method, the GUI further includes one or more of athree-dimensional firearm orientation view, a two-dimensional recoiltracking view, or a user body camera feed view.

In embodiments of the method, automatically updating the GUI accordingto the second sensor information comprises updating the one or more of athree-dimensional firearm orientation view, a two-dimensional recoiltracking view, or a user body camera feed view based on the secondsensor information.

The firearm monitoring and remote support system allows various parties,such as managers and supervisors, to collect real-time informationrelating to assets within a deployment location, for example, to supportusers of firearms during engagements with hostile threats, to preparethose users for such engagements, or to aide those users after suchengagements. This includes the capability of the technology to reportinformation in real-time, allowing the rapid use of the collectedinformation, such as for situational awareness and rapid response tocritical situations. By collecting real-time firearms data, managers,dispatchers, and the like can respond more efficiently to hostilethreats and also more effectively monitor conditions of users of thefirearms, including, but not limited to, the ammunition supply for thefirearm and the health of the user.

In embodiments, a firearms activity monitoring system is provided,comprising a series of ruggedized sensors, configured to be built intothe grips of a firearm, dedicated to providing real-time firearmsactivity monitoring, including firearm location, orientation, anddischarge monitoring. In embodiments, the system is an “install andforget” device, independent of the firing mechanism (that is, in suchembodiments, the system does not prevent discharges), that collectsobjective data on firearms usage and orientation. In turn, the datacollected has a host of applications among security forces, ranging fromaugmenting critical first response systems to minimizing response timesand improving situational awareness, to machine learning in automatingradio transmissions and predictive firearm maintenance. Inventorycontrol and firearms accountability are also possibilities with thispotentially life-saving technology. This device brings theInternet-of-Things (IoT) into the world of firearms. In embodiments, afirearms activity monitoring system may be combined with otherfunctionality that may prevent discharges through methods such astrigger locks, barrel blocks, etc. and require user identification suchas biometric fingerprint scanners, palm recognition, and RFID scanners

The firearms activity monitoring system allows various parties, such asmanagers and supervisors, to collect objective, rather than subjective,firearms data. This allows better oversight and accountability of allfirearms usage. This includes the capability of the technology to reportinformation in real-time, allowing the rapid use of the collectedinformation, such as for situational awareness and rapid response tocritical situations. By collecting real-time firearms data, managers,dispatchers, and the like can respond more efficiently to incidents andalso provide accurate reporting of information after an incidentinvolving a firearm.

As noted above, the expensive price tag associated with hardware,storage, and data transmission fees has resulted in identification ofcost as a problem with other monitoring systems like body cameras thathave been adopted due to public pressure. The firearm monitoring systemsdisclosed herein augment other systems like body cameras and can rendersuch systems much more cost-effective.

As noted above, for insurance companies, firearms used by the clientrepresent a liability. In embodiments, data from the firearm monitoringsystem may be used to help companies that provide insurance (such as toprivate security firms); for example, it may be possible to negotiate alower insurance premium as a result of using a monitoring system thatdemonstrates effectiveness and completion of training, adherence to safepractices, and the like by the personnel of the insured. With a devicethat increases accountability and inventory management, the risks andcosts associated with insuring security firms decreases, therebycreating cost savings for both insurance companies and security firms.

In embodiments, the present disclosure includes a system for monitoringa user of a firearm. The system includes an inertial measurement unit(IMU) configured to be disposed inside a grip of the firearm formeasuring the motion of the firearm. The system also includes an eventdetection system for detecting a detected event that includes at leastone of gripping of the firearm, raising of the firearm, aiming of thefirearm, and discharging of the firearm based on the motion of thefirearm as measured by the IMU. The system further includes acommunication system for wirelessly communicating the detected event.

In embodiments, the detected event is communicated to a camera system.

In embodiments, the camera system includes a camera located insufficient proximity to view the firearm.

In embodiments, the camera system includes a body camera system worn bythe user of the firearm.

In embodiments, the body camera initiates recording upon receiving thecommunication of the detected event.

In embodiments, the body camera initiates recording upon the firearmbeing at least one of gripped, raised and aimed.

In embodiments, the event detection system and the communication systemare configured to be disposed inside the grip of the firearm.

In embodiments, the IMU is configured to count each discharge of thefirearm.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect the firearm being pointedtoward another firearm or a user in conjunction with supporting systems.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect the firearm and at leastanother firearm and configured to visually display locations of the atleast two firearms.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect a set of firearms in aninventory, to count each discharge of each of the firearms in the set offirearms, and to communicate total discharges from each of the firearms.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect a set of firearms in aninventory across a mesh network and to determine a location of a firstfirearm from the set of firearms based on a detected location of atleast a second firearm in the set of firearms.

In embodiments, the present disclosure includes a firearm usagemonitoring system configured to store data about movement of a firearmby a user. The system includes a grip on the firearm that is configuredto be held by a hand of the user and permit the hand of the user to alsoreach a trigger of the firearm. The system also includes a nine-axismotion monitor including a microprocessor, a tri-axis gyroscope, atri-axis accelerometer and a tri-axis compass configured to communicatedata about movement, orientation, and direction of the firearm. Thesystem further includes memory communicatively coupled to themicroprocessor and to the nine-axis motion monitor and a GPS moduleconnected to the microprocessor and the memory. In embodiments, dataabout the position of the firearm is transmitted from the nine-axismotion monitor and the GPS module and stored in the memory. Inembodiments, the nine-axis motion monitor, the microprocessor, thememory, and the GPS module are configured to be disposed inside a gripof the firearm.

In embodiments, the grip on the firearm is configured to be held by thehand of the user and permit the hand of the user to also reach a safetyof the firearm.

In embodiments, the system of the present disclosure includes ahard-wired data and power connection configured to receive data andpower from a wired source.

In embodiments, the system of the present disclosure includes a serialcommunication system (e.g., a UART to USB controller) communicativelycoupled to the hard-wired data and power connection and configured tosend data to and receive data from the hard-wired data and powerconnection. In embodiments, the microprocessor is configured to senddata to and receive data from the serial communication system.

In embodiments, the system of the present disclosure includes a lowdropout regulator electrically coupled to a battery and the serialcommunication system. In embodiments, the low dropout regulator stepsdown voltage from the battery to more efficiently power the serialcommunication system.

In embodiments, the system of the present disclosure includes a camerasystem that includes a body camera that is activated when there is achange in position of the firearm transmitted from one of the nine-axismotion monitor and the GPS module.

In embodiments, the present disclosure includes a system for monitoringfirearms in a set of the firearms. Each of the firearms is associatedwith a user in a set of users. The system includes a machine learningsystem and a sensory analysis module that connects to the machinelearning system and is configured to receive multi-modal sensory inputsfrom firearm usage tracking systems associated with the firearms,sensors that detect the users, and sensors that detect an environmentaround the set of firearms and the set of users. The system includes aset of candidate intents generated by the machine learning system basedon at least a portion of the multi-modal sensory inputs. The system alsoincludes an action plan based on the set of candidate intents generatedby the machine learning system. In embodiments, the action plan is inresponse to at least one of a change in condition of one of the users ofthe firearms, change of state of one of the firearms from the set offirearms, a change of environment around the firearms.

In embodiments, the machine learning system is configured to determinethat one of the users from the set of users is in distress based on atleast one sensor detecting human states of the user indicative ofdistress and at least one firearm sensor that detects motion andorientation of the firearm indicative of lack of discharge for apredetermined period. In embodiments, the action plan from the machinelearning system is configured to request assistance for the user indistress.

In embodiments, the machine learning system is configured to activatecamera systems in anticipation of an event based on at least one sensordetecting human states of the user and at least one firearm sensor thatdetects motion and orientation of the firearm indicative of imminentdischarge of at least one firearm of the set of firearms.

In embodiments, the machine learning system is configured to generateinventory action plans detailing needs for ammunition in anticipation ofits consumption by the firearms from the set of firearms based on IMUsin each of the firearms that detects motion and orientation of thefirearm to count each shot based on discharges from the firearms of theset of firearms.

In embodiments, a monitoring system for a firearm comprises an IMU, acommunication circuit, and a microcontroller. The IMU is configured togenerate data indicative of at least one of a movement of the firearm,an orientation of the firearm, or a direction of the firearm. Thecommunication circuit is configured to communicate the data generatedusing the inertial measurement unit to a device external to the firearm.The microcontroller is configured to deliver power from a power sourceto at least one of the inertial measurement unit or the communicationcircuit. In embodiments, at least the IMU is disposed within an actionstructure of the firearm. In embodiments, at least the IMU is disposedon a rail of a firearm or within an accessory coupled to a rail of thefirearm. In embodiments, at least the IMU is disposed within a barrelstructure of the firearm. In embodiments, at least the IMU is disposedwithin a stock structure of the firearm or within a component of a stockstructure of the firearm.

A firearm usage monitoring system is configured to store data aboutlocation, movement, orientation, and direction of a firearm while in useand includes a hard-wired data and power connection, configured toreceive data and power from a wired source. A serial communicationsystem (e.g., a UART to USB controller) is communicatively coupled tothe hard-wired data and power connection and configured to send data toand receive data from the hard-wired data and power connection. Amicroprocessor is configured to send data to and receive data from theserial communication system. A nine-axis motion monitor iscommunicatively coupled to the microprocessor module further comprisinga tri-axis gyroscope, a tri-axis accelerometer and a tri-axis compassconfigured to communicate data about movement, orientation, anddirection of the firearm. Memory is communicatively coupled to themicroprocessor and to the nine-axis motion monitor. Data about thelocation and position of the firearm in 3D space is transmitted from thenine-axis motion monitor and GPS and then stored in the memory.

In embodiments, a firearms activity monitoring system is provided,comprising a series of ruggedized sensors, configured to be built intothe grips of a firearm, dedicated to providing real-time firearmsactivity monitoring, including firearm location, orientation, anddischarge monitoring. In embodiments, the system is an “install andforget” device, independent of the firing mechanism (that is, in suchembodiments, the system does not prevent discharges), that collectsobjective data on firearms usage and orientation. In turn, the datacollected has a host of applications among security forces, ranging fromaugmenting critical first response systems to minimizing response timesand improving situational awareness, to machine learning in automatingradio transmissions and predictive firearm maintenance. Inventorycontrol and firearms accountability are also possibilities with thispotentially life-saving technology. This device brings theInternet-of-Things (IoT) into the world of firearms. In embodiments, afirearms activity monitoring system may be combined with otherfunctionality that may prevent discharges through methods such astrigger locks, barrel blocks, etc, and require user identification suchas biometric fingerprint scanners, palm recognition, and RFID scanners

The firearms activity monitoring system allows various parties, such asmanagers and supervisors, to collect objective, rather than subjective,firearms data. This allows better oversight and accountability of allfirearms usage. This includes the capability of the technology to reportinformation in real-time, allowing the rapid use of the collectedinformation, such as for situational awareness and rapid response tocritical situations. By collecting real-time firearms data, managers,dispatchers, and the like can respond more efficiently to incidents andalso provide accurate reporting of information after an incidentinvolving a firearm.

As noted above, the expensive price tag associated with hardware,storage, and data transmission fees has resulted in identification ofcost as a problem with other monitoring systems like body cameras thathave been adopted due to public pressure. The firearm monitoring systemsdisclosed herein augment other systems like body cameras and can rendersuch systems much more cost-effective.

As noted above, for insurance companies, firearms used by the clientrepresent a liability. In embodiments, data from the firearm monitoringsystem may be used to help companies that provide insurance (such as toprivate security firms); for example, it may be possible to negotiate alower insurance premium as a result of using a monitoring system thatdemonstrates effectiveness and completion of training, adherence to safepractices, and the like by the personnel of the insured. With a devicethat increases accountability and inventory management, the risks andcosts associated with insuring security firms decreases, therebycreating cost savings for both insurance companies and security firms.

In embodiments, the present disclosure includes a system for monitoringa user of a firearm. The system includes an inertial measurement unit(IMU) configured to be disposed inside a grip of the firearm formeasuring the motion of the firearm. The system also includes an eventdetection system for detecting a detected event that includes at leastone of gripping of the firearm, raising of the firearm, aiming of thefirearm, and discharging of the firearm based on the motion of thefirearm as measured by the IMU. The system further includes acommunication system for wirelessly communicating the detected event.

In embodiments, the detected event is communicated to a camera system.

In embodiments, the camera system includes a camera located insufficient proximity to view the firearm.

In embodiments; the camera system includes a body camera system worn bythe user of the firearm.

In embodiments, the body camera initiates recording upon receiving thecommunication of the detected event.

In embodiments, the body camera initiates recording upon the firearmbeing at least one of gripped, raised and aimed.

In embodiments, the event detection system and the communication systemare configured to be disposed inside the grip of the firearm.

In embodiments, the IMU is configured to count each discharge of thefirearm.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect the firearm being pointedtoward another firearm or a user in conjunction with supporting systems.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect the firearm and at leastanother firearm and configured to visually display locations of the atleast two firearms.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect a set of firearms in aninventory, to count each discharge of each of the firearms in the set offirearms, and to communicate total discharges from each of the firearms.

In embodiments, the system of the present disclosure includes a firearmusage tracking system configured to detect a set of firearms in aninventory across a mesh network and to determine a location of a firstfirearm from the set of firearms based on a detected location of atleast a second firearm in the set of firearms.

In embodiments, the present disclosure includes a firearm usagemonitoring system configured to store data about movement of a firearmby a user. The system includes a grip on the firearm that is configuredto be held by a hand of the user and permit the hand of the user to alsoreach a trigger of the firearm. The system also includes a nine-axismotion monitor including a microprocessor, a tri-axis gyroscope, atri-axis accelerometer and a tri-axis compass configured to communicatedata about movement, orientation, and direction of the firearm. Thesystem further includes memory communicatively coupled to themicroprocessor and to the nine-axis motion monitor and a GPS moduleconnected to the microprocessor and the memory. In embodiments, dataabout the position of the firearm is transmitted from the nine-axismotion monitor and the GPS module and stored in the memory. Inembodiments, the nine-axis motion monitor, the microprocessor, thememory, and the GPS module are configured to be disposed inside a gripof the firearm.

In embodiments, the grip on the firearm is configured to be held by thehand of the user and permit the hand of the user to also reach a safetyof the firearm.

In embodiments, the system of the present disclosure includes ahard-wired data and power connection configured to receive data andpower from a wired source.

In embodiments, the system of the present disclosure includes a serialcommunication system (e.g., a UART to USB controller) communicativelycoupled to the hard-wired data and power connection and configured tosend data to and receive data from the hard-wired data and powerconnection. In embodiments, the microprocessor is configured to senddata to and receive data from the serial communication system.

In embodiments, the system of the present disclosure includes a lowdropout regulator electrically coupled to a battery and the serialcommunication system. In embodiments, the low dropout regulator stepsdown voltage from the battery to more efficiently power the serialcommunication system.

In embodiments, the system of the present disclosure includes a camerasystem that includes a body camera that is activated when there is achange in position of the firearm transmitted from one of the nine-axismotion monitor and the GPS module.

In embodiments, the present disclosure includes a system for monitoringfirearms in a set of the firearms. Each of the firearms is associatedwith a user in a set of users. The system includes a machine learningsystem and a sensory analysis module that connects to the machinelearning system and is configured to receive multi-modal sensory inputsfrom firearm usage tracking systems associated with the firearms,sensors that detect the users, and sensors that detect an environmentaround the set of firearms and the set of users. The system includes aset of candidate intents generated by the machine learning system basedat least a portion of the multi-modal sensory inputs. The system alsoincludes an action plan based on the set of candidate intents generatedby the machine learning system. In embodiments, the action plan is inresponse to at least one of a change in condition of one of the users ofthe firearms, change of state of one of the firearms from the set offirearms, a change of environment around the firearms.

In embodiments, the machine learning system is configured to determinethat one of the users from the set of users is in distress based atleast one sensor detecting human states of the user indicative ofdistress and at least one firearm sensor that detects motion andorientation of the firearm indicative of lack of discharge for apredetermined period. In embodiments, the action plan from the machinelearning system is configured to request assistance for the user indistress.

In embodiments, the machine learning system is configured to activatecamera systems in anticipation of an event based at least one sensordetecting human states of the user and at least one firearm sensor thatdetects motion and orientation of the firearm indicative of imminentdischarge of at least one firearm of the set of firearms.

In embodiments, the machine learning system is configured to generateinventory action plans detailing needs for ammunition in anticipation ofits consumption by the firearms from the set of firearms based on IMUsin each of the firearms that detects motion and orientation of thefirearm to count each shot based on discharges from the firearms of theset of firearms.

In embodiments, a monitoring system for a firearm comprises an IMU, acommunication circuit, and a microcontroller. The IMU is configured togenerate data indicative of at least one of a movement of the firearm,an orientation of the firearm, or a direction of the firearm. Thecommunication circuit is configured to communicate the data generatedusing the inertial measurement unit to a device external to the firearm.The microcontroller is configured to deliver power from a power sourceto at least one of the inertial measurement unit or the communicationcircuit. In embodiments, at least the IMU is disposed within an actionstructure of the firearm. In embodiments, at least the IMU is disposedon a rail of a firearm or within an accessory coupled to a rail of thefirearm. In embodiments, at least the IMU is disposed within a barrelstructure of the firearm. In embodiments, at least the IMU is disposedwithin a stock structure of the firearm or within a component of a stockstructure of the firearm.

A firearm monitoring and remote support system is configured to collectsignals representing real-time conditions of firearms, devices, andusers within a deployment location. Those signals can be used to detectthreats within the deployment location, to determine responses toperform based on those threats, or otherwise to support users of thefirearms. For example, sensors within firearms and/or other assets canbe used to determine that one or more firearms are drawn on a specifictarget within the deployment location. In another example, sensorswithin a firearm can be used to determine that the ammunition supply forthe firearm is depleted or nearly depleted. Appropriate responses tosuch situations, such as by ordering for reinforcements, additionalammunition deliveries, or the like, can be automated based on the sensorinformation. The firearm monitoring and remote support system is furtherconfigured to output one or more graphical user interfaces (GUIs). TheGUIs may be used for visualizing information associated with users offirearms and/or threats detected nearby those users. The GUIs mayfurther be used to generate, review, and/or approve actions to take inresponse to a threat detection, for example, to provide support to theusers of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support isprovided. The system comprises a plurality of firearms within adeployment location, response infrastructure, and a server device. Eachfirearm includes one or more sensors that record sensor information usedto produce a signal. The response infrastructure is configured fordeployment to the deployment location. The server device runsapplication software that uses the signals received from each of thefirearms to detect a threat within the deployment location and causesthe deployment of the response infrastructure to the deploymentlocation. The response infrastructure supports users of the plurality offirearms in addressing the detected threat.

In embodiments of the system, the application software processes thesignals received from each of the firearms to determine cones of fire ofthe firearms, in which a cone of fire of a firearm represents anexpected area of potential fire for the firearm.

In embodiments of the system, the application software uses the cones offire to detect the threat within the deployment location by determiningthat two or more of the cones of fire coalesce on a single locationwithin the deployment location.

In embodiments of the system, the application software verifies thedetected threat using a video stream from a camera within the deploymentlocation, in which the video stream indicates the threat at the singlelocation within the deployment location.

In embodiments of the system, sizes of the cones of fire differ based onskill levels of users of the firearms.

In embodiments of the system, the one or more sensors included in afirearm include a sensor configured to detect a discharge of thefirearm. The application software uses the sensor information indicativeof the discharge of the firearm to determine to detect the threat. Theresponse infrastructure includes a vehicle configured to deliverreinforcements to the deployment location to support users of thefirearms.

In embodiments of the system, the one or more sensors included in afirearm include a sensor configured to detect an ammunition inventoryfor the firearm. The application software uses measurements indicativeof the ammunition inventory for the firearm to determine to deliverammunition to the deployment location. The response infrastructureincludes a vehicle configured to deliver the ammunition to thedeployment location.

In embodiments of the system, the sensor configured to detect theammunition inventory for the firearm is further configured to identify atype of the firearm. Information indicating the type of the firearm isused by the application software to identify the ammunition to deliverto the deployment location

In embodiments of the system, the system further comprises a wearabledevice worn by a user of at least one firearm of the plurality offirearms. The wearable device includes one or more sensors that recordinformation indicative of a health status of the user. The applicationsoftware uses the health status of the user to determine to request adelivery of medical support for the user to the deployment location.

In embodiments of the system, the responsive infrastructure includes anunmanned aerial vehicle configured to deliver medical items to thedeployment location responsive to the requested delivery of medicalsupport for the user.

In embodiments of the system, the application software processes thesensor information against information stored within a knowledgebase todetect the threat.

In embodiments of the system, the one or more sensors include one ormore of an inertial motion unit, a geolocation sensor, a pressuresensor, or a discharge sensor.

In embodiments of the system, the system further comprises a connectionpoint within the deployment location that receives the signals from theplurality of firearms and transmits the signals to the server device.

In embodiments, a method for firearm monitoring and remote support isprovided. The method comprises producing, at a device within adeployment location, a signal including sensor information recordedusing one or more sensors of the device; transmitting, from the device,the signal to a server device running application software; processing,by the application software, the signal to detect a threat within thedeployment location; determining, by the application software, an actionto perform in response to the detected threat; and deploying, by theapplication software, response infrastructure to perform the action.

In embodiments of the method, the method further comprises determining,by the application software, a severity of the threat based on thesensor information and based on information stored within aknowledgebase, in which determining the action to perform in response tothe detected threat comprises determining the action to perform based onthe severity of the threat.

In embodiments of the method, the information stored within theknowledgebase is used to compare the sensor information against athreshold or other condition associated with the detected threat,wherein the severity of the threat is based on a result of thecomparison.

In embodiments of the method, the application software automaticallydetermines the action to perform in response to the detected threatwithout manual user intervention, in which the application softwareincludes functionality for manual user verification of the automaticallydetermined action.

In embodiments of the method, the method further comprises producing asecond signal including second sensor information recorded after thesensor information used to detect the threat; transmitting the secondsignal to the server device; processing, by the application software,the second signal to determine a second action to perform for remotesupport of a user of a device at which the second signal is produced;and deploying, by the application software, second responseinfrastructure to perform the second action.

In embodiments of the method, the device is a firearm. The one or moresensors include a sensor configured to detect an ammunition inventoryfor the firearm. The action to perform includes a delivery of ammunitionto the deployment location. The second response infrastructure includesa vehicle configured to deliver the ammunition to the deploymentlocation.

In embodiments of the method, the device is a wearable device. The oneor more sensors include a sensor configured to detect informationindicative of a health status of the user of the device. The action toperform includes requesting a delivery of medical support to thedeployment location. The second response infrastructure includes avehicle configured to deliver the medical support to the deploymentlocation.

The firearm monitoring and remote support system allows various parties,such as managers and supervisors, to collect real-time informationrelating to assets within a deployment location, for example, to supportusers of firearms during engagements with hostile threats, to preparethose users for such engagements, or to aide those users after suchengagements. This includes the capability of the technology to reportinformation in real-time, allowing the rapid use of the collectedinformation, such as for situational awareness and rapid response tocritical situations. By collecting real-time firearms data, managers,dispatchers, and the like can respond more efficiently to hostilethreats and also more effectively monitor conditions of users of thefirearms, including, but not limited to, the ammunition supply for thefirearm and the health of the user.

A firearm monitoring and remote support system is configured to collectsignals representing real-time conditions of firearms, devices, andusers within a deployment location. Those signals can be used to detectthreats within the deployment location, to determine responses toperform based on those threats, or otherwise to support users of thefirearms. For example, sensors within firearms and/or other assets canbe used to determine that one or more firearms are drawn on a specifictarget within the deployment location. In another example, sensorswithin a firearm can be used to determine that the ammunition supply forthe firearm is depleted or nearly depleted. Appropriate responses tosuch situations, such as by ordering for reinforcements, additionalammunition deliveries, or the like, can be automated based on the sensorinformation. The firearm monitoring and remote support system is furtherconfigured to output one or more graphical user interfaces (GUIs). TheGUIs may be used for visualizing information associated with users offirearms and/or threats detected nearby those users. The GUIs mayfurther be used to generate, review, and/or approve actions to take inresponse to a threat detection, for example, to provide support to theusers of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support isprovided. The system comprises a connection point and a server device.The connection point is located within a deployment location andreceives and compresses a signal from a firearm within the deploymentlocation. The signal includes sensor information recorded using one ormore sensors of the firearm. The server device runs application softwarethat receives the compressed signal from the connection point,decompresses the signal to restore the sensor information, and uses therestored sensor information to detect a threat within the deploymentlocation.

In embodiments of the system, the server device receives compressedsignals from a plurality of connection points including the connectionpoint, in which at least some connection points of the plurality ofconnections are located within the deployment location.

In embodiments of the system, the application software detects thethreat within the deployment location based on the restored sensorinformation produced by decompressing the compressed signal receivedfrom the connection point and based on other restored sensor informationproduced by decompressing another compressed signal received fromanother connection point of the plurality of connection points.

In embodiments of the system, the other compressed signal received fromthe other connection point is produced using one or more sensors of awearable device.

In embodiments of the system, the other compressed signal received fromthe other connection point is produced using one or more sensors of astationary device.

In embodiments of the system, the application software uses the restoredsensor information to detect the threat within the deployment locationbased on a change in an orientation of the firearm indicated within therestored sensor information. The change in the orientation of thefirearm represents a change in orientation from one of a grippingorientation or a drawing orientation to one of a pointing orientation ora firing orientation.

In embodiments of the system, the firearm is a first firearm. Theapplication software further processes a signal produced at a secondfirearm. The signal produced at the second firearm indicates a change inan orientation of the second firearm. The application software updatescones of fire of the first firearm and of the second firearm based onthe changes in orientation of the first firearm and of the secondfirearm, wherein the application updated cones of fire.

In embodiments of the system, the transmission of the signal from thefirearm to the connection point is automated and responsive to theproduction of the signal at the firearm.

In embodiments, a method for firearm monitoring and remote support isprovided. The method comprises receiving, at a connection point within adeployment location, a signal from a device located proximate to theconnection point within the deployment location, the signal includingsensor information recorded using one or more sensors of the device;compressing, at the connection point, the signal to produce a compressedsignal; transmitting, from the connection point, the compressed signalto a server device running application software for remote support of auser of the firearm; responsive to the server device receiving thecompressed signal from the connection point, decompressing, using theapplication software, the compressed signal to restore the sensorinformation; and detecting, using the application software, a threatwithin the deployment location based on the restored sensor information.

In embodiments of the method, the signal is a first signal and thedevice is a first firearm, and the method further comprises receiving,at the connection point, a second signal from a second device locatedproximate to the connection point within the deployment location.

In embodiments of the method, compressing the signal to produce thecompressed signal comprises compressing the first signal; compressingthe second signal; and producing the compressed signal based on thecompressed first signal and based on the compressed second signal.

In embodiments of the method, a lossy compression technique is used tocompress one or both of the first signal or the second signal.

In embodiments of the method, the first device is a first firearm andthe second device is a second firearm. The sensor information recordedusing the sensors of each of the first firearm and the second firearmindicates a change in orientation from one of a gripping orientation ora drawing orientation to one of a pointing orientation or a firingorientation.

In embodiments of the method, detecting the threat within the deploymentlocation based on the restored sensor information comprises detectingthe threat within the deployment location based on the change inorientation of the first firearm and based on the change in orientationof the second firearm.

In embodiments of the method, detecting the threat within the deploymentlocation based on the change in orientation of the first firearm andbased on the change in orientation of the second firearm comprisesupdating cones of fire of the first firearm and of the second firearmbased on the changes in orientation of the first firearm and of thesecond firearm; determining that the updated cones of fire coalesce; anddetecting the threat within the deployment location based on thecoalesced cones of fire.

In embodiments of the method, the restored sensor information is firstrestored sensor information, the compressed signal is a first compressedsignal, and the connection point is a first connection point. Detectingthe threat within the deployment location based on the restored sensorinformation comprises detecting the threat within the deploymentlocation based on the first restored sensor information and based onsecond restored sensor information, in which the second restored sensorinformation is produced by decompressing a second compressed signalreceived from a second connection point within the deployment location.

In embodiments of the method, the second connection point produces thesecond compressed signal based on a signal including sensor informationrecorded using one or more sensors of a wearable device.

In embodiments of the method, the second connection point produces thesecond compressed signal based on a signal including sensor informationrecorded using one or more sensors of a mobile robot.

In embodiments of the method, the first connection point and the secondconnection point form a mesh network.

In embodiments of the method, decompressing the compressed signal torestore the sensor information to the uncompressed form comprises:denoising, using the application software, the compressed signal; anddecompressing, using the application software, the denoised compressedsignal to restore the sensor information.

The firearm monitoring and remote support system allows various parties,such as managers and supervisors, to collect real-time informationrelating to assets within a deployment location, for example, to supportusers of firearms during engagements with hostile threats, to preparethose users for such engagements, or to aide those users after suchengagements. This includes the capability of the technology to reportinformation in real-time, allowing the rapid use of the collectedinformation, such as for situational awareness and rapid response tocritical situations. By collecting real-time firearms data, managers,dispatchers, and the like can respond more efficiently to hostilethreats and also more effectively monitor conditions of users of thefirearms, including, but not limited to, the ammunition supply for thefirearm and the health of the user.

A firearm monitoring and remote support system is configured to collectsignals representing real-time conditions of firearms, devices, andusers within a deployment location. Those signals can be used to detectthreats within the deployment location, to determine responses toperform based on those threats, or otherwise to support users of thefirearms. For example, sensors within firearms and/or other assets canbe used to determine that one or more firearms are drawn on a specifictarget within the deployment location. In another example, sensorswithin a firearm can be used to determine that the ammunition supply forthe firearm is depleted or nearly depleted. Appropriate responses tosuch situations, such as by ordering for reinforcements, additionalammunition deliveries, or the like, can be automated based on the sensorinformation. The firearm monitoring and remote support system is furtherconfigured to output one or more graphical user interfaces (GUIs). TheGUIs may be used for visualizing information associated with users offirearms and/or threats detected nearby those users. The GUIs mayfurther be used to generate, review, and/or approve actions to take inresponse to a threat detection, for example, to provide support to theusers of the firearms for engaging the detected threats.

In embodiments, a system for firearm monitoring and remote support isprovided. The system comprises a plurality of connection points within adeployment location and a server device. Each connection point of theplurality of connection points is configured to receive signals producedat one or more firearms proximate to the connection point within thedeployment location. Each connection point of the plurality ofconnection points is further configured to communicate the receivedsignals to a server device located outside of the deployment location.The server device runs application software that receives the signalsfrom each of the connection points and uses the sensor informationincluded in the signals to detect a threat within the deploymentlocation.

In embodiments of the system, the system further comprises one or moremobile computing devices intermediate to the connection points and tothe one or more firearms, in which ones of the mobile computing devicesreceive the signals from ones of the firearms and ones of the connectionpoints receive the signals from the ones of the mobile computingdevices.

In embodiments of the system, peer-to-peer communications between theone or more mobile computing devices are enabled using the plurality ofconnection points.

In embodiments of the system, the application software transmits anindication of the detected threat to the mobile computing devices.

In embodiments of the system, at least some of the connection pointsbatch the signals and communicate the batches to the server device, inwhich the application software processes the batches to detect thethreat within the deployment location.

In embodiments of the system, the at least some of the connection pointsbatch the signals based on times at which the signals are received fromone of the one or more firearms.

In embodiments of the system, the at least some of the connection pointsbatch the signals based on types of the firearms from which the signalsare received.

In embodiments of the system, the plurality of connection points forms amesh network for extending communication coverage within the deploymentlocation.

In embodiments of the system, one or more non-firearm assets connects tothe mesh network and produces at least some signal of the signals whichare communicated to the server device using one of the connection pointsof the plurality of connection points.

In embodiments of the system, each connection point of the plurality ofconnection points is configured to receive the at least some of thesignals based on proximities of one of the one or more non-firearmassets to the connection point.

In embodiments, a method for firearm monitoring and remote support isprovided. The method comprises receiving, at a first connection pointwithin a deployment location, a first signal produced at a first devicelocated proximate to the first connection point within the deploymentlocation, the first signal including sensor information recorded usingone or more sensors of the first device; receiving, at a secondconnection point within the deployment location, a second signalproduced at a second device located proximate to the second connectionpoint within the deployment location, the second signal including sensorinformation recorded using one or more sensors of the second device;receiving, at a server device running application software for remotesupport of users of the first device and the second device, the firstsignal and the second signal; and processing, using the applicationsoftware, the first signal and the second signal to detect a threatwithin the deployment location.

In embodiments of the method, the first connection point is configuredto receive signals from a plurality of devices including the firstdevice, and the method further comprises prioritizing connectionsbetween ones of the plurality of devices and the first connection pointto conserve network bandwidth.

In embodiments of the method, the connections are prioritized based onone or more of a time since a last established connection between adevice of the plurality of devices and the first connection point, atype of the device, a type of signal or information communicated fromthe device, a distance between the device and the first connectionpoint, information associated with a user of the device, or an amount ofbandwidth required for the connection with the device.

In embodiments of the method, the first connection point batches thesignals received from the plurality of devices and communicates thebatches to the server device.

In embodiments of the method, the user of the first device has a firstmobile computing device that receives the first signal from the firstdevice and the user of the second device has a second mobile computingdevice that receives the second signal from the second device. The firstconnection point receives the first signal from the first mobilecomputing device and the second connection point receives the secondsignal from the second mobile computing device.

In embodiments of the method, the method further comprises, responsiveto detecting the threat within the deployment location, transmitting,from the server device, an indication of the detected threat to one orboth of the first mobile computing device or the second mobile computingdevice.

In embodiments of the method, the first connection point includes ageolocation sensor. Measurements recorded using the geolocation sensorare transmitted to the server device and used by the applicationsoftware to determine a location of the threat with respect to alocation of the first connection point.

In embodiments of the method, at least one of the first device or thesecond device is a firearm. The firearm includes an inertial motion unitwhich measures changes in an orientation of the firearm. A signalproduced based on the measurements of the inertial motion unit isproduced responsive to a determination that an orientation of thefirearm has changed from one of a gripping orientation or a drawingorientation to one of a pointing orientation or a firing orientation.

In embodiments of the method, the method further comprises, responsiveto detecting the threat within the deployment location, transmitting,from the server device, a command to response infrastructure to cause adeployment of the response infrastructure to the deployment location.

In embodiments of the method, the first connection point and the secondconnection point are included in a mesh network at the deploymentlocation, in which the mesh network represents a network of connectionsbetween the first device, the second device, and one or more otherdevices located at the deployment location.

The firearm monitoring and remote support system allows various parties,such as managers and supervisors, to collect real-time informationrelating to assets within a deployment location, for example, to supportusers of firearms during engagements with hostile threats, to preparethose users for such engagements, or to aide those users after suchengagements. This includes the capability of the technology to reportinformation in real-time, allowing the rapid use of the collectedinformation, such as for situational awareness and rapid response tocritical situations. By collecting real-time firearms data, managers,dispatchers, and the like can respond more efficiently to hostilethreats and also more effectively monitor conditions of users of thefirearms, including, but not limited to, the ammunition supply for thefirearm and the health of the user.

BRIEF DESCRIPTION OF THE FIGURES

The detailed description of some embodiments of the present disclosureis made below with reference to the accompanying figures, wherein likenumerals represent corresponding parts of the figures.

FIG. 1 is a diagrammatic view of a firearm monitoring and remote supportsystem in accordance with embodiments of the present disclosure.

FIG. 2 is a side perspective view of a firearm in use in accordance withthe embodiments of the present disclosure.

FIG. 3 is a diagrammatic view of an internal configuration of acomputing device in accordance with embodiments of the presentdisclosure.

FIG. 4 is a diagrammatic view of various system sub-components ofsoftware used for firearm monitoring and remote support in accordancewith embodiments of the present disclosure.

FIG. 5 is a diagrammatic view of various inputs, processing options, andoutputs for threat detection and analysis in accordance with embodimentsof the present disclosure.

FIGS. 6-11 are illustrations of GUIs of software of a firearm monitoringand remote support system in accordance with embodiments of the presentdisclosure.

FIG. 12 is an illustration of a mesh network system in accordance withembodiments of the present disclosure.

FIG. 13 is a diagrammatic view of various sub-components of a connectionpoint in accordance with embodiments of the present disclosure.

FIG. 14 is a flowchart showing a technique for threat detection andresponse in accordance with embodiments of the present disclosure.

FIG. 15 is a flowchart showing a technique for GUI visualization ofsensor and threat information in accordance with embodiments of thepresent disclosure.

FIG. 16 is a flowchart showing a technique for compression andcollection of information in accordance with embodiments of the presentdisclosure.

FIG. 17 is an illustration of gestures, positions and locations of afirearm indicative of or in preparation for live fire in accordance withembodiments of the present disclosure.

FIGS. 18-19 are illustrations of multiple users and assets engaged inlive fire in accordance with embodiments of the present disclosure.

FIG. 20 is a bottom front perspective view of a firearm including afirearm usage monitoring system in accordance with the embodiments ofthe present disclosure.

FIG. 21 is a top rear perspective view of the firearm of FIG. 20.

FIG. 22 is an exploded view of the firearm of FIG. 20.

FIG. 23 is a perspective view of first and second grip panels of thefirearm and the firearm usage monitor in accordance with embodiments ofthe present disclosure.

FIG. 24 is an electrical schematic view of the firearm usage monitoringsystem in accordance with embodiments of the present disclosure.

FIG. 25 and FIG. 26 are schematic views of the firearm usage monitoringsystem in accordance with embodiments of the present disclosure.

FIGS. 27, 28, 29 and 30 are diagrammatic views of various systemsub-components for the firearm usage monitoring system in accordancewith embodiments of the present disclosure.

FIG. 31 is a partial perspective view of a firearm including the firearmusage monitoring system in accordance with embodiments of the presentdisclosure.

FIG. 32 is a process view of a machine control system of the firearmusage monitoring system in accordance with embodiments of the presentdisclosure.

FIGS. 33 and 34 are diagrammatic views of various system sub-componentsfor the firearm usage monitoring system in accordance with embodimentsof the present disclosure.

FIGS. 35, 36, 37, 38, 39, 40, and 41 are flowchart showing techniquesfor communicating with and monitoring firearms and user of thosefirearms in accordance with embodiments of the present disclosure.

DETAILED DESCRIPTION

By way of example, and referring to FIG. 1, an embodiment of firearmmonitoring and remote support system 100 includes firearm monitoring andremote support application 102 which processes signals received from oneor more of firearms 104, wearable devices 106, or stationary devices 108to detect and assess threats against users of firearms 104. For example,the signals received from firearms 104, wearable devices 106, and/orstationary devices 108 can be processed to determine whether and how torespond to a threat against the users of firearms 104, including byautomating a deployment of response infrastructure 110 to a location ofor proximate to the users of firearms 104. Application 102 is run,executed, interpreted, or otherwise operated at server device 112, whichcommunicates, directly or indirectly, with firearms 104, wearabledevices 106, and/or stationary devices 108 using network 114 andconnection point 116.

The application 102 is software for monitoring users within a deploymentlocation. The users are humans or non-human entities (e.g., mobile orstationary robots). The users operate firearms 104 and wear wearabledevices 106. In embodiments, the users may operate stationary devices108. Alternatively, stationary devices 108 may be operated withoutaction by the users. A user may be mobile or stationary, for example,based on whether they are human or non-human and/or based on a directiveof the user. For example, a user who operates a sniper rifle or otherheavy powered weaponry or machinery may in some cases be considered astationary user. The deployment location is a geographic regionincluding one or more terrain types and may be wholly developed (e.g., acity or other urban environment area), partially developed (e.g., arelatively small or rural living area), or wholly undeveloped (e.g., amountainous, forested, desert, or other natural area). In particular,the deployment location represents a location to which one or more usersare deployed. For example, the one or more users may be deployed toidentify, address, or otherwise neutralize a hostile threat. In anotherexample, the one or more users may be deployed to rescue hostages orotherwise assist civilians or friendly forces.

The signals received from firearms 104, wearable devices 106, and/orstationary devices 108 represent sensor information measured forfirearms 104, wearable devices 106, and/or stationary devices 108.Firearms 104 include sensors 118, wearable devices 106 include sensors120, and stationary devices 108 include sensors 122. Sensors 118,sensors 120, and sensors 122 include hardware sensors used to measureaspects of firearms 104, wearable devices 106, and stationary devices108, respectively. For example, sensors 118, sensors 120, and sensors122 may each include one or more of an accelerometer, a gyroscope, amagnetometer, a geolocation sensor, a moisture sensor, a pressuresensor, or the like. Sensors 118, sensors 120, and sensors 122 may eachbe embodied in inertial measurement units included within or otherwisecoupled to firearms 104, wearable devices 106, and stationary devices108, respectively. In embodiments, sensors 118, sensors 120, and sensors122 may each include the same sensors. In embodiments, sensors 118,sensors 120, and sensors 122 may include partially or wholly differentsensors.

The signals received from firearms 104, wearable devices 106, and/orstationary devices 108 are processed to monitor the status of firearms104, wearable devices 106, and/or stationary devices 108. Application102 can monitor the status of firearms 104, wearable devices 106, and/orstationary devices 108 by using the signals to update position and/ororientation information for firearms 104, wearable devices 106, and/orstationary devices 108, and/or for users thereof. The updated positionand/or orientation information can provide details regarding current useof firearms 104, wearable devices 106, and/or stationary devices 108,for example, to indicate use states of firearms 104, wearable devices106, and/or stationary devices 108 and/or to indicate how firearms 104,wearable devices 106, and/or stationary devices 108 are being usedwithin the deployment region.

Monitoring the status of firearms 104 may include generating and/orupdating information for visualizing or otherwise representing a cone offire for firearms 104. A cone of fire, or cone, is or refers to anexpected area of potential fire for a firearm 104. The endpoint of thesector of a cone represents a current location of a firearm 104. Theremaining portion of the cone represents a potential area which,provided the firearm 104 remains stationary at the location representedby the endpoint of the sector), projectiles from the firearm 104 may befired. The cones for firearms 104 may be visually represented byapplication 102, for example, within one or more GUIs generated andoutput by application 102. In embodiments, the size and layout of a conecan be defined based on one or both of the type of a firearm 104corresponding to the cone or the skill of the user of the firearm 104.In embodiments, the size and layout of the cone can be determined usingthe errors in measurements from the IMU and GPS to represent thepotential locations in which the projectile from the firearm may impact.By way of these examples, the shape of the cone of fire can bearbitrarily capped by the effective range of fire for the firearm andthe round being used. In embodiments, the cone of fire can then becapped or otherwise set to a predetermined size and shape by thepre-determined skill rating associated with the skill of the user. Inembodiments, larger caliber firearms may have an increased effectiverange of fire. As such, the bullet itself can have the potential to gowell beyond the drawn cone of fire. For example, a larger firearm mayhave a longer cone than a smaller firearm. In another example, a skilleduser who is capable of accurate marksmanship may have a smaller (e.g.,narrower) cone than one who is less accurate, such as because theskilled user is statistically expected to more accurately hit a target.In yet another example, where learning models (e.g., of a machinelearning system) determine that the user tends to fire too much to theleft or right, the cone for that user can be accordingly projected. Theapplication 102 monitors the status of firearms 104 including byperforming real-time updates to cones corresponding to firearms 104. Forexample, where a GUI of application 102 visually represents users withina deployment location and shows cones, application 102 can automaticallyupdate locations and orientations of the cones, for example, based onsignals received from firearms 104.

The signals received from firearms 104, wearable devices 106, and/orstationary devices 108 are further processed to detect threats withinthe deployment region, including by analyzing whether and/or how torespond to those detected threats. Application 102 can detect threatswithin the deployment region by using the signals received from firearms104, wearable devices 106, and/or stationary devices 108 to determinewhether users thereof are exposed to a threat or may become exposed to athreat. For example, the signals may be used to determine that firearms104 have been drawn or otherwise moved into a readied position, forexample, to prepare to engage a threat. In another example, the signalsmay be used to determine that firearms 104 are actively engaging athreat, for example, based on a detected firing of firearms 104 and/orbased on a coalescence of cones of multiple firearms 104. In yet anotherexample, the signals may be used to determine that ammunition suppliesfor some or all firearms 104 are running low or depleted. In yet anotherexample, the signals may be used to automate a response to the threat,for example, by deploying reinforcements to assist in engaging thethreat, by deploying additional ammunition resources to the deploymentlocation, or otherwise.

The threat may be a human or non-human (e.g., robotic, vehicular,non-human animal, etc.) hostile which presents or may present a risk ofharm to users of firearms 104, wearable devices 106, and/or stationarydevices 108. For example, the threat may be one or more enemy combatantswho possess weapons or other means to present a risk of harm to theusers of firearms 104, wearable devices 106, and/or stationary devices108, to civilians, or to other persons or assets friendly to the usersof firearms 104, wearable devices 106, and/or stationary devices 108. Inanother example, the threat may be one or more robots or animals trainedto attack the users of firearms 104, wearable devices 106, and/orstationary devices 108. The threat may alternatively be or refer to acondition or situation which presents a risk of harm to the users offirearms 104, wearable devices 106, and/or stationary devices 108, tocivilians, or to other persons or assets friendly to the users offirearms 104, wearable devices 106, and/or stationary devices 108. Forexample, the threat may be or relate to a terrain element which presentsa risk of bodily harm or obstructs a traveling path of the users offirearms 104, wearable devices 106, and/or stationary devices 108. Insome cases, the threat may refer to terrain elements which are naturallyoccurring. In other cases, the threat may refer to terrain elementswhich present a risk of harm or obstruction because of actions taken bya hostile.

In response to a detected threat, application 102 may in some casescause a deployment of response infrastructure 110 to the deploymentlocation. Response infrastructure 110 includes or otherwise refers toassets or personnel used to assist in addressing the detected threat.For example, response infrastructure 110 may be or include unmannedaerial vehicles (UAVs) or other aircraft. The UAVs or other aircraft maybe configured to drop ammunition re-supplies within the deploymentlocation, for example, in response to application 102 determining thatcurrent ammunition supplies of one or more users of firearms 104 arerunning low or depleted before, during, or after an engagement with adetected threat. In another example, response infrastructure 110 may beor include transport vehicles used to transport reinforcements withinthe deployment location, for example, in response to application 102determining that additional manpower is required or would be beneficialfor engaging the detected threat. Response infrastructure 110 may bedeployed to a location of connection point 116, for example, which maybe known or determined using a geolocation sensor included within orotherwise coupled to connection point 116. Alternatively, a differentlocation to which response infrastructure 110 is deployed may bedetermined by application 102.

In embodiments, response infrastructure 110 may refer to components,assets, or other matter rather than to specific infrastructure used totransport or otherwise deploy those components, assets, or other matterwithin the deployment location. For example, response infrastructure 110may refer to firearms, ammunition, medical equipment, or other assetswhich can be deployed using a UAV, another aircraft, or another deliverymechanism. In embodiments, response infrastructure 110 may refer tolocations, components, assets, or other matter which may not travel tothe deployment location. For example, response infrastructure 110 mayinclude or otherwise refer to one or more locations at which assetinventories (e.g., firearm, ammunition, medical, or other inventorystocks) are stored and/or to hardware or other machinery or assets atthose locations.

Application 102 may process the signals received from firearms 104,wearable devices 106, and/or stationary devices 108 against informationstored within database 124 to monitor firearms 104, wearable devices106, and/or stationary devices 108 and/or to detect and analyze athreat. Database 124 stores information relating to firearms 104,wearable devices 106, and/or stationary devices 108. For example, theinformation relating to a firearm 104 stored within database 124 mayinclude information about the firearm type, maximum amount of ammunitionwithin a magazine, firing rate, maximum firing range, maintenancestatus, sensors included or coupled, or the like. Database 124 may alsostore information indirectly relating to a firearm 104, for example,information relating to ammunition types, inventory information (e.g.,in a stockpile or warehouse from which reserves can be deployed for usein response to a detected threat), connected or connectable devices(e.g., wearable devices 106), or the like. Database 124 may also storeinformation relating to users of firearms 104, for example, userinformation including names, ranks, years of service, skill levels,notable achievements, numbers of deployments, numbers of engagements,weapons currently possessed in the deployment location, ammunitionstocks present in the deployment location, numbers of shots fired sincearrival at the in the deployment location, health information, threatengagement information, or the like. In embodiments, information storedwithin database 124 relating to firearms may be retrieved frommanufacturers, distributors, or other vendors of those firearms. Forexample, where access is available, application programming interface(API) calls can be made to retrieve the information from externalsystems which the manufacturers, distributors, or other vendors use tostore such information. The information stored within database 124 maybe included in a knowledgebase accessed by application 102. For example,the knowledgebase can represent a collection of knowledge associatedwith assets used by or with system 100, for example, for detecting andanalyzing threats.

Connection point 116 is used to facilitate communications betweenfirearms 104, wearable devices 106, and/or stationary devices 108 andnetwork 114. Network 114 may be a network of computers (e.g., a localarea network (LAN), a wide area network (WAN), a virtual private network(VPN), a peer-to-peer (P2P) network, or an intranet), or a network ofnetworks (e.g., the Internet), or another network (e.g., a cellularnetwork). Connection point 116 is a device configured to communicateover network 114. Connection point 116 may communicate with firearms104, wearable devices 106, and/or stationary devices 108 over Ethernet,transmission control protocol (TCP), Internet protocol (IP), power linecommunication, Wi-Fi, Bluetooth®, infrared, radio frequency (RF),general packet radio services (GPRS), global system for mobilecommunications (GSM), frequency-division multiple access (FDMA),code-division multiple access (CDMA), evolution-data optimized (EVDO),Z-Wave, ZigBee, 3G, 4G, 5G, another protocol, or a combination thereof.In embodiments, connection point 116 may be a router, beacon, wirelessconnection point (e.g., a Wi-Fi connection point), lighting system,camera, or other network-connected devices.

In embodiments, connection point 116 may be one of a number ofconnection points deployed within the deployment location. For example,each connection point may be configured to facilitate communications forcertain ones of firearms 104, wearable devices 106, and/or stationarydevices 108. In another example, bandwidth limitations or otherconstraints may reduce the connection strength or status betweenconnection point 116 and ones of firearms 104, wearable devices 106,and/or stationary devices 108, in which case other connection pointslocated elsewhere in the deployment location may be leveraged forredundancies and back-up communication mechanisms.

In embodiments, connection point 116 may be included in or otherwise usea mesh network to facilitate communications between server device 112and one or more of firearms 104, wearable devices 106, or stationarydevices 108 over network 114. The mesh network may be or represent anetwork of connections between firearms 104, wearable devices 106,stationary devices 108, connection points (e.g., connection point 116),and/or other devices, such as response infrastructure 110, mobilerobots, or the like. The mesh network may form part of a large meshnetwork, allowing devices, such as firearms and mobile robots, tocommunicate directly with one another, rather than having to firstconnect through a centralized network communication hub, or as asupplement to communication by one or more devices to such a hub.

In embodiments, application 102 processes signals received from assetsother than firearms 104, wearable devices 106, and/or stationary devices108. For example, instead of or in addition to signals received fromfirearms 104, wearable devices 106, and/or stationary devices 108,application 102 can process signals received from one or more ofvehicles, mortars, and/or other trackable assets. Each of the vehicles,mortars, and/or other trackable assets may include one or more sensors,which may be the same or different from one or more of sensors 118,sensors 120, and/or sensors 122.

In embodiments, some or all users within a deployment location may beunderground. In such a case, system 100 can use geolocation systems(e.g., a global navigation satellite system, for example, the globalpositioning system (GPS), the global navigation satellite system(GLONASS), the BeiDou navigation satellite system (BDS), Galileo, or thelike) to track subterranean locations of users. In some suchembodiments, assets such as body cameras, heads-up displays, or the likemay be used to supplement subterranean tracking of users.

In embodiments, server device 112 may be part of a cloud computinginfrastructure. For example, application 102 may be or representfunctionality of a software-as-a-service (SaaS) or platform-as-a-service(PaaS) cloud system. In such embodiments, application 102 may be asingle- or multi-instance software application run using one or more webservers, application servers, hypervisors, or the like. In suchembodiments, server device 112 may be or include a hardware server(e.g., a computing device), a software server (e.g., a web server and/ora virtual server), or both. For example, where server device 112 is orincludes a hardware server, server device may be a computing devicelocated in a rack, such as of a data center.

In embodiments, connection point 116 may use or otherwise include anefficient architecture and components for low power consumption,including energy harvesting mechanisms, such as harvesting the energy ofmotion of firearms 104 and/or wearable devices 106 or energy from therecoil of firearms 104 to provide power for storage and/or reporting ofdata to the application 102. The energy harvesting mechanisms may alsobe configured to harvest local energy in the RF domain or otherappropriate local electromagnetic signals of sufficient strength.

In embodiments, sensors 120 of wearable devices 106 may include orotherwise integrate with physiological monitors. A heart rate band ormonitor can be an indicator of a distressed situation creating anotification. In embodiments, wearable devices 106 may integrate theEmergency Response Data communications architecture. In embodiments,wearable devices 106 may include body cameras which capture imagesand/or video. In such embodiments, sensors 120 of wearable devices 106may include image sensors.

In embodiments, application 102 generates geofence-based alerts. Forexample, the geofence capability can be implemented around a warehousewhere weapons are stored to track weapons for inventory control orthreatening situations. In another example, the geofence capability canbe implemented around a central area within the deployment location, forexample, the connection point 116.

In embodiments, application 102 integrates with mobile devicetechnology. Application 102 can send critical messages in a timelymanner, such as through an app installed on a mobile phone or othermobile computing devices of a user of firearm 104. The app may bedirectly connected to dispatchers, such as allowing the caller torequest assistance.

Referring to FIG. 2, firearm 200 is one of firearms 104 used inconnection with system 100 and user 202 is the user of firearm 200. Inthe example shown, firearm 200 is depicted as an assault rifle. However,firearms which may be used in connection with a firearm monitoring andremote support system in accordance with the embodiments of thisdisclosure may be of other firearm types. For example, types of thefirearms 104 other than assault rifles may include, but are not limitedto, pistols, revolvers, shotguns, other rifles, or the like. Althoughthe following discussion regarding firearm 200 is with respect to thestructure of an assault rifle particularly, similar discussion withrespect to other firearm types is understood, and it will be understoodfrom the following discussion how sensors may be used with other firearmtypes.

In particular, the illustration of FIG. 2 is intended to describelocations of firearm 200 at which various sensors or other componentsmay be included or coupled. Examples of sensors or other componentswhich may be included in or coupled to the various locations showninclude, but are not limited to, an IMU (e.g., including anaccelerometer and/or a gyroscope), a geolocation sensor, a forceconnector, a power input, a battery charger, a laser, a regulator, aserial communication system component, a flash memory, a networkinterface, a programmable hardware unit, or the like.

Firearm 200 includes one or more structures for performing orfacilitating operations typical of a firearm, for example, for storingammunition, firing one or more projectiles from the ammunition,controlling the storage and firing of ammunition, and more. Inembodiments, firearm 200 can include an action structure, a stockstructure, and a barrel structure. In embodiments, firearm 200 caninclude one or more rails. A rail may, for example, be located on one ormore of, or proximate to one or more of, the action structure, the stockstructure, or the barrel structure.

The action structure is or refers to the structure of components whichare used to handle and propel ammunition during firing. For example, theaction structure may include one or more components which are used toload, lock, fire, extract, and/or eject ammunition or shells thereof.Depending on the particular type of firearm, the action structure mayuse a break action mechanism, a bolt action mechanism, a lever actionmechanism, or another action mechanism. The action structure may includea charging handle used to move a hammer to a ready position for firing.The action structure may include a forward assist component that moves abolt fully forward in the event a return spring fails to do so. Theaction structure may include a gas operating system which directs energyfor operating a locked breech of the action mechanism. The actionstructure may include a hammer that strikes a firing pin or othercomponent of the action mechanism to cause the combustion or compressionwhich fires a projectile from the barrel structure of the firearm. Theaction structure may include an ejection port which uses forced gas orother energy resulting from the combustion or compression to eject anammunition shell from the barrel structure of the firearm after theprojectile thereof has been fired. The action structure may also includecomponents other than those described above.

The stock structure is or refers to a structure of components whichprovide support to the action structure and/or to the barrel structure.In embodiments, the stock structure includes a butt and a fore-end. Thebutt and the fore-end may be included in a one-piece stock structure orin a two-piece stock structure. The butt includes a grip and a comb. Thegrip is a component which may be held by a user of the firearm duringthe operation of the firearm. The comb is a portion of the butt whichsupports a portion of a body of the user of the firearm during theoperation of the firearm. A hook may be coupled to the butt of the stockstructure, for example, to support a portion of a body of the user ofthe firearm during the operation of the firearm. The butt may be solid.Alternatively, the butt may be collapsible or telescoping. The fore-endmay include a handguard for protecting a hand of a user of the firearmfrom heat generated at the barrel structure of the firearm during theoperation of the firearm. The fore-end may in some cases include aportion of the action structure of the firearm. For example, thefore-end may include a pump component for a pump action shotgun or otherpump action firearm. The stock structure may also include a triggerunit, which includes a trigger engaged by a user of the firearm and mayalso include a safety for selectively disengaging the operation of thetrigger. The stock structure may also include a magazine well whichreceives a magazine and directs a projectile from a cartridge insertedin the magazine to a chamber of the barrel structure. In embodiments,the trigger unit and/or the magazine well may be included in the stockstructure. In embodiments, the grip may be included in a portion of thestock structure other than the butt. In embodiments, the grip may beincluded in a component in contact with the stock structure instead ofin the stock structure itself.

The barrel structure is or refers to a structure of components throughwhich a projectile is fired, for example, using combustion orcompression. In embodiments, the barrel structure includes a chamber, amuzzle, and a bore. The chamber is a cavity in which an ammunitioncartridge is inserted and in which a projectile is stored until it isfired. The muzzle is the portion of the barrel structure through which aprojectile is fired, and which is located at an end of the barrelstructure opposite to the chamber. The muzzle may, in embodiments,include a coupling element, which may, for example, be or include athreaded engagement or another engagement. An accessory device for usewith the firearm may be coupled to the coupling element on the muzzle oranother portion of the barrel structure. For example, the accessorydevice may be coupled by a coupling element located above the muzzlewhen the firearm is oriented for normal operation. In such a case, forexample, the accessory device may be a sight, a scope, or anotheraccessory. In another example, the accessory device may be coupled by acoupling element located in front of the muzzle when the firearm isoriented for normal operation. In such a case, for example, theaccessory device may be a flash hider, a suppressor, or anotheraccessory. The bore is the hollow length of the barrel structure throughwhich a projectile travels when fired. An internal surface of the boremay, in embodiments, be smooth or grooved to control or otherwise enablea projection of a projectile from the chamber to a location outside ofthe muzzle during firing.

A rail is or refers to a structure to which one or more accessories maybe coupled for use during the operation of the firearm. A rail includesan interface mechanism for permanently or removably coupling accessoriesto the firearm. The interface mechanism may allow for one or more ofslidable engagement of an accessory, slotted engagement of an accessory,threaded engagement of an accessory, snap-fit engagement of anaccessory, friction-fit engagement of an accessory, or the like. Therail may be a Dovetail rail, a Weaver rail, a Warsaw Pact rail, aPicatinny rail, a KeyMod rail, a M-LOK rail, or a UIT rail, althoughother styles of rail are possible. In embodiments, the particular formof the interface mechanism may depend upon the style of the rail. A railas used with a firearm according to the embodiments of this disclosuremay be coupled to a surface of an action structure of a firearm (e.g.,above an ejection port), a surface of a barrel structure of a firearm(e.g., above the chamber or a portion of the muzzle), or a surface of astock structure of a firearm (e.g., above a handguard). Although a railtypically is located on an upper surface of a firearm structure withrespect to an orientation of the firearm during use, in embodiments, arail as disclosed herein may be located on another surface, or on acombination of surfaces, of one or more firearm structures. Examples ofaccessories which may be coupled to a rail include, without limitation,scopes, sights (e.g., laser sights, iron sights, reflector sights,holographic sights, or the like), tactical lights, and vertical forwardgrips.

In embodiments, components described above as being included in theaction structure, as being included in the stock structure or being incontact with the stock structure, or as being included in the barrelstructure, may instead be included in one of a lower receiver unit ofthe firearm or an upper receiver unit of the firearm. In embodiments,components described herein as being included in the stock structure mayinstead be included in the lower receiver unit and/or the upper receiverunit, or both. In embodiments, one or more rails and/or componentscoupled to rails as described above may be included in the lowerreceiver unit and/or the upper receiver unit.

Firearm 200 includes action structure 204, stock structure 206, andbarrel structure 208. Action structure 204 is shown as includingcharging handle, bolt, and ejection port. Stock structure 206 is shownas including grip, comb, handguard, trigger unit, magazine well, andmagazine. Barrel structure 208 is shown as including muzzle, accessorydevice (e.g., a suppressor), and accessory device (e.g., a sightassembly). Firearm 200 further includes first rail 210 and second rail212. Each of the rails 210 and 212 includes an interface mechanism forpermanently or removably coupling one or more accessories to firearm200. For example, first accessory 214 (e.g., a laser sight and/ortactical light) is coupled to rail 212 and second accessory 216 (e.g., ascope) is coupled to rail 210. In embodiments, other components and/orother numbers of components may be coupled to rail 210 and/or to rail212. In embodiments, action structure 204, stock structure 206, andbarrel structure 208 may include components other than or in addition towhat is shown in FIG. 2.

In embodiments, a firearm used in connection with a firearm monitoringand remote support system in accordance with the embodiments of thepresent disclosure can include structures other than an actionstructure, a stock structure, a barrel structure, and/or one or morerails. For example, in embodiments, such a firearm can include acylinder structure including multiple chambers for storing a projectileto be fired. For example, the firearm may be a revolver or anotherfirearm with a structure for rotating multiple chambers into alignmentwith the bore of the barrel structure. In another example, inembodiments, such a firearm may omit the stock structure. For example,the firearm may be a pistol or other handgun in which components such asthe grip and/or trigger are coupled to the rest of the firearm by astructure other than a stock structure. In another example, inembodiments, such a firearm may include a stock structure that omits thebutt. For example, the firearm may be a pistol or other handgun whichincludes a stock structure that structurally supports the actionstructure and/or the barrel structure, but in which contact with theuser is intended to be limited to the grip. It is to be understood thatother firearm embodiments as are currently known or which are laterdeveloped may be used to implement or otherwise integrate one or more ofthe methods and systems disclosed herein.

Assets used in connection with a firearm monitoring and remote supportsystem in accordance with the embodiments of the present disclosure maybe located within or otherwise positioned with respect to certainstructures and/or certain components of structures used in connectionwith firearm 200. Examples of such structures are shown in FIG. 2 aswearable devices worn by user 202 of firearm 200. The examples includeouterwear 218, helmet 220, earpiece 222, eyeglasses 224, and wristbands226. Outerwear 218 may be or include a vest, a jacket, a shirt, oranother wearable item. Helmet 220 may be a helmet or another headcovering or combination of head coverings. Earpiece 222 is an in-eardevice for receiving audio from a remote source. In embodiments,earpiece 222 may include a microphone for recording audio fortransmission to another in-ear device or to a remote source. Inembodiments, earpiece 222 may be a hearing guard, such as a plug forblocking the ear canal of user 202. In such an embodiment, earpiece 222may omit audio communication functionality. Eyeglasses 224 are a coverfor one or both eyes of user 202. Wristbands 226 are wearable devicesworn around the wrists of user 202. Although one wristband 226 is shownon each arm of user 202, in embodiments, user 202 may wear a wristband226 on only one arm, or user 202 may wear more than one wristbands 226on one or both arms. In embodiments, one or more of outerwear 218,helmet 220, earpiece 222, eyeglasses 224, or wristbands 226 may beembodied in a form factor other than what is shown as described. Forexample, one or both of wristbands 226 may be embodied as rings worn onfingers of user 202, as devices worn around a neck of user 202, as pinscoupled to outerwear 218, or another form factor, or a combinationthereof. In embodiments, outerwear 218 may be or include clothing orother wearable items which are not located worn as outerwear. Forexample, outerwear 218 may be or include an undershirt, a vest wornunderneath outerwear, or another wearable item.

In embodiments, assets other than wearable devices used in connectionwith a firearm monitoring and remote support system in accordance withthe embodiments of the present disclosure may be located within orotherwise positioned with respect to certain structures and/or certaincomponents of structures used in connection with firearm 200. Althoughnot shown in FIG. 2, examples of such other assets include mobiledevices (e.g., cell phones, tablet computers, personal digitalassistants (PDAs), mobile connection points, or the like) which may bepossessed by the user and/or permanently or removably coupled to otherassets (e.g., firearms, wearable devices, stationary devices, stationaryconnection points, or the like).

While examples of particular structures of a firearm and particularcomponents of structures of a firearm are disclosed herein, suchdisclosure is not limiting as to the possible structures of componentsof structures of a firearm or as to the possible locations orpositionings of components used by the methods and systems disclosedherein with respect to those structures or those components ofstructures. Accordingly, it is to be understood that components used byone or more of the methods and systems disclosed herein may be locatedor positioned in other locations or positions in or about a firearm,regardless of the particular structures disclosed herein by example.

Referring to FIG. 3, computing device 300 is or refers to one or moreof: server device 112; an electronic system within or otherwise coupledto a firearm 104, a wearable device 106, a stationary device 108, orresponse infrastructure 110; or another computer, phone, PDA, or othersort of electronic device used in connection with system 100.

Computing device 300 includes various types of computer readable mediaand interfaces for various other types of computer readable media.Computing device 300 includes bus 302, processing unit(s) 304, systemmemory 306, read-only memory (ROM) 308, permanent storage device 310,input devices 312, output devices 314, and network interface 316.

Bus 302 collectively represents all system, peripheral, and chipsetbuses that communicatively connect the numerous internal devices of thecomputing device 300. For instance, bus 302 communicatively connectsprocessing unit(s) 304 with ROM 308, system memory 306, and permanentstorage device 310. From these various memory units, processing unit(s)304 retrieves instructions to execute and data to process in order toexecute the many processes disclosed herein. The Processing unit(s) 304may be or include a single processor or a multi-core processor indifferent embodiments. In embodiments, the system memory 306 could alsobe used as a buffer for data before the data is transmitted from theuser. In embodiments, the system memory 306 could also be used as abuffer for data before being sent to storage, especially in situationswhere the data cannot be transmitted from the user.

ROM 308 stores static data and instructions that are needed byprocessing unit(s) 304 and other modules of computing device 300.Permanent storage device 310, on the other hand, is a read-and-writememory device. The Permanent storage device 310 is a nonvolatile memoryunit that stores instructions and data even when computing device 300 isoff. Some embodiments disclosed herein may use a mass-storage device(such as a magnetic or optical disk and its corresponding disk drive) aspermanent storage device 310.

Other embodiments use a removable storage device (such as a floppy diskor a flash drive) as permanent storage device 310. Like permanentstorage device 310, system memory 306 is a read-and-write memory device.However, unlike storage device 310, system memory 306 is a volatileread-and-write memory, such as random access memory (RAM). System memory306 stores some of the instructions and data that the processor needs atruntime. In some embodiments, processes are stored in system memory 306,permanent storage device 310, and/or ROM 308. For example, the variousmemory units include instructions for processing appearance alterationsof displayable characters in accordance with some embodiments. Fromthese various memory units, processing unit(s) 304 retrievesinstructions to execute and data to process in order to execute thevarious processes of disclosed herein.

Bus 302 also connects to input devices 312 and output devices 314. Inputdevices 312 enable the person to communicate information and selectcommands to computing device 300. Input devices 312 include alphanumerickeyboards and pointing devices (also called cursor control devices).Output devices 314 display images generated by computing device 300.Output devices 314 include printers and display devices, such as cathoderay tubes (CRTs), liquid crystal displays (LCDs), or light-emittingdiodes (LEDs). Some embodiments include devices such as a touchscreenthat functions as both input devices 312 and output devices 314.

Bus 302 also couples computing device 300 to network interface 316 forconnecting computing device 300 to a network (e.g., network 114). Inthis manner, the computing device 300 can be a part of a network ofcomputers (e.g., a LAN, a WAN, a VPN, a P2P network, or an intranet), anetwork of networks (e.g., the Internet), or another network (e.g., acellular network). Any or all components of computing device 300 may beused in conjunction with the various embodiments of the presentdisclosure. For example, network interface 316 can enable communicationsover Ethernet, TCP, IP, power line communication, Wi-Fi, Bluetooth®,infrared, RF, GPRS, GSM, FDMA, CDMA, EVDO, Z-Wave, ZigBee, 3G, 4G, 5G,another protocol, or a combination thereof.

Referring to FIG. 4, the functionality of application 102 is furtherdescribed. Application 102 includes software modules used for monitoringfirearms and other assets within a deployment location (e.g., wearabledevices and/or stationary devices). The software modules include firearmmonitoring module 400, threat detection and analysis module 402, threatresponse module 404, GUI generation and display module 406, and signalprocessing module 408.

Firearm monitoring module 400 monitors firearms (e.g., firearms 104),deployed to a deployment location. Firearm monitoring module 400monitors the users, firearms, and other assets based on measurementsrecorded using sensors included within or otherwise coupled to thefirearms and other assets (e.g., sensors 118). For example, the firearmmonitoring module 400 can process the measurements recorded using thesensors to determine changes in a position and/or orientation of afirearm and/or to determine motion of the firearm. For example, themeasurements recorded using the sensors may include or otherwise beindicative of one or more of a change in orientation of a firearm, avibration of the firearm, recoil resulting from a firing of the firearm,pressure applied to all or a portion of the firearm (e.g., to a triggermechanism or grip), changes in contents of a magazine of the firearm,heat and/or light changes at a muzzle of the firearm (e.g., indicating afiring of the firearm), or the like.

In embodiments, firearm monitoring module 400 monitors users of firearms(e.g., users of firearms 104) and/or other assets (e.g., wearabledevices 106 and stationary devices 108). Firearm monitoring module 400monitors the users and/or other assets based on measurements recordedusing sensors included within or otherwise coupled to the other assets(e.g., sensors 122) and sensors included in assets worn by the users(e.g., sensors 120). For example, the firearm monitoring module 400 canprocess the measurements recorded using the sensors to determine changesin a position and/or orientation of a user and/or other asset and/or todetermine motion of the user and/or other assets. For example, themeasurements recorded using the sensors may include or otherwise beindicative of one or more of a sudden motion of the user, a speed and/ordirection of motion of the user, a vibration measured based on a firingof a firearm of the user, sudden changes in an amount of light detectedaround the user, or the like.

The output of firearm monitoring module 400 can be used to updateinformation representing real-time position and orientation of firearmsin a deployment location. For example, as will be described below, theoutput of firearm monitoring module 400 can be used by GUI generationdisplay module 406 to update one or more GUIs to change a visualrepresentation of one or more firearms based on the real-time positionand orientation of the firearms. In another example, as will bedescribed below, the output of firearm monitoring module 400 can be usedby threat detection and analysis module 402 to detect a threat withinthe deployment location and/or to analyze whether a threat detectedwithin the deployment location requires a threat response.

In embodiments, firearm monitoring module 400 includes functionality formonitoring firearm maintenance. With such firearm maintenancemonitoring, the application 102 may provide (e.g., to the user of afirearm, to remote support personnel using the application 102, or toother personnel) data on the number of rounds discharged and whichfirearm components need maintenance or replacement. The firearmmaintenance monitoring functionality of firearm monitoring module 400can include generating an alert indicative of maintenance requirementsdetermined based on the monitoring, for example, to notify the user ofthe firearm, remote support personnel, or other personnel.

In embodiments, firearm monitoring module 400 includes functionality foralerting a user of a firearm should the firearm is pointed at anotheruser (e.g., in the same group or otherwise). For example, each user mayhave a tracking system (e.g., included in the firearm, a wearable deviceworn by the user, or another asset). The firearm monitoring module 400can detect when a firearm of one user is pointed at another user withsuch a tracking system. In some such embodiments, firearm monitoringmodule 400 may also alert the user should the firearm be pointed atother weaponry (e.g., another firearm or another weapon), anotherdeployed asset, another predefined target, raised quickly in ageo-defined zone, or the like. This may, for example, help avoidfriendly fire (e.g., potentially resulting in fratricide) situations.

Firearm monitoring module 400 includes functionality for identifyingdischarges and counting shots, discharges, and other operations offirearms. In embodiments, an external device attached to a firearm canregister when a shot is fired. The discharge has a unique, detectable,physical profile (e.g., a discharge has recoil that has a particularmotion profile, sound profile, and the like). A recoil measuring systemmay use an IMU, including or combined with motion-detecting/sensingelements, including one or more accelerometers, gyros, magnetometers,and the like. In embodiments, a map is developed based on analyses ofdischarge events to the map the entire motion sequence caused by atypical discharge. That motion profile, which may be unique to eachweapon platform and user, can be stored and used as a basis forcomparing future sensed data to determine whether a discharge event hasoccurred. Similar profiling can be used for each weapon type todetermine whether the firearm has been raised to an aiming position orout of the holster position.

In embodiments, a firearm may include an infrared gate in front of theejection port. This gate can track disconnects when the weapon is fired,such as when the shell is engaged and breaks the gate. In embodiments, afirearm may include a hall-effect sensor to measure the motion of aninternal part. In embodiments, firearm monitoring module 400 can capturethe discharge profile of a given weapon by using an IMU. The dischargeprofile may have unique inertial characteristics when a weapon isdischarged, such as based on the geometry, distribution of weight,specified ammunition, and the like, so that a discharge can be profiledand identified based on a series of movements that are measured by theIMU. In embodiments, firearm monitoring module 400 can capture thedischarge profile of a given weapon by using a sensor to monitor theposition of the trigger so that when the trigger is pulled, we canassume a discharge and verify with the IMU or other correlating data oruse that to identify misfire or dry fire scenario.

In embodiments, firearm monitoring module 400 includes an activitymonitor which will indicate events such as when the gun is elevated andbeing pointed. In embodiments, firearm monitoring module 400 measuresthe parameters of the recoil and parameters of pre-shot movement. Thisallows an analysis of changes over time to determine the status of theweapon. The firearm monitoring module 400 can also capture movements anddetermine whether the user is handling the weapon properly.

In embodiments, firearm monitoring module 400 provides alternatives formonitoring discharges, such as cameras, or augments those othermonitoring systems. The methods and systems disclosed herein may includeimage recognition, which can identify the flash of a muzzle or for theslide rocking back. The system may also have acoustic abilities and mayprovide sound recognition.

Threat detection and analysis module 402 uses sensor measurements,existing knowledge, and/or trained machine learning models related tousers, firearms, other assets, and/or conditions within a deploymentlocation to detect whether a threat exists within the deploymentlocation and to analyze the severity of detected threats. The sensormeasurements, existing knowledge, and/or trained machine learning modelsare taken as inputs to threat detection and analysis module 402. Threatdetection and analysis module 402 outputs data indicating one or more ofa detected threat, a threat severity, or no threat detected. The sensormeasurements can include measurements recorded using one or more ofsensors 118, sensors 120, or sensors 122. For example, measurementsrecorded using one or more of sensors 118, sensors 120, or sensors 122may include, without limitation, information indicating changes in theorientation of a firearm, changes in a movement speed of a user,biometric information (e.g., increase in user pulse, increase in usersweat levels, increase in user eye movement, or the like), changes inhow a user grips or otherwise holds a firearm, image or video data(e.g., captured using a user body camera, a camera on a UAV or otheraircraft, a camera of a stationary device, a camera of another vehicle,or another camera) showing hostiles or persons who appear to behostiles, or the like.

In embodiments, the sensor measurements can include information outputfrom firearm monitoring module 400. For example, the firearm monitoringmodule 400 can process measurements recorded using one or more ofsensors 118, sensors 120, or sensors 122 and provide the processedmeasurements to threat detection and analysis module 402. In such anembodiment, the processed measurements may include additionalinformation added by firearm monitoring module 400, for example,representing previous monitoring data corresponding to one or more ofsensors 118, sensors 120, or sensors 122.

The knowledge used by threat detection and analysis module 402 includesinformation stored within a knowledgebase of system 100. For example,the knowledgebase can be represented by or otherwise include or refer toinformation stored within database 124, which can be accessed byapplication 102. The information within the knowledgebase can beprocessed against the sensor measurements, for example, to compare thesensor measurements to established thresholds or other known conditionsassociated with threat detection. As will be described below, themachine learning models used by threat detection and analysis module 402are models (e.g., of a deep learning neural network or another machinelearning or machine intelligence approach) which have been trained usingone or more data sets (e.g., including information within theknowledgebase and/or information collected from past deployments ofusers using sensors such as sensors 118, sensors 120, and/or sensors122).

Threat detection and analysis module 402 can use a rule-based approachto detect and analyze threats. In embodiments, different inputs may beassigned or otherwise attributed different score values. For example, afirearm discharge being detected may have a higher score than a changein firearm orientation detection. In another example, a change infirearm orientation detection may have a higher score than a user motiondetection. A rule used by threat detection and analysis module 402 cancompare score totals calculating by adding scores for various presentinputs against one or more thresholds configured for indicating athreat. A threat can be detected where the calculated score total meetsor exceeds one or more of the thresholds. In embodiments, a rule used bythreat detection and analysis module 402 can indicate that the detectionof a condition (e.g., based on one or more of the sensor measurements)indicates a detected threat. For example, where the sensor measurementsindicate that multiple firearms are being discharged at the same time,threat detection and analysis module 402 can use that information aloneto determine that a potential threat exists.

Threat detection and analysis module 402 analyzes the input informationnot only to detect a threat, but also to determine a severity of adetected threat. For example, a detected threat which appears to relateto the presence of a single hostile combatant may be considered lesssevere than a detected threat which appears to relate to the presence ofmultiple hostile combatants. In another example, a detected threat whichappears to relate to the presence of enemy tanks, mortars, or otherheavy machinery or heavy-powered weaponry may be considered more severethan a detected threat which appears to relate to the presence ofhostile combatants armed only with handguns or assault rifles. Thedetection of a threat, along with the severity of the detected threat,are used to determine an appropriate response to the detected threat,for example, using threat response module 404. Determining the severityof a threat may include analyzing some or all of the input informationused to detect the treat. For example, for a given threat, a threatseverity may be low when input information indicates that the users whowill engage the threat have what is expected to be an adequate amount ofammunition for engaging the threat, but high when the input informationindicates that those users do not have an adequate amount of ammunition.In another example, for a given threat, a threat severity may be lowwhen the number of users who will engage the threat is greater than thenumber of hostile combatants detected, but high when the number of userswho will engage the threat is less than the number of hostile combatantsdetected.

Threat detection and analysis module 402 thus considers the types andnumber of firearms possessed by each engaged user, the amount of unusedammunition remaining in possession of each such engaged user, the amountof ammunition already used during the engagement by each such user, thenumber of engaged users, the locations of the engaged users (e.g., inrelation to each other, to the hostiles, and/or to the geography), andthe like. Threat detection and analysis module 402 further considers thenumber of hostiles, the locations of the hostiles (e.g., in relation toeach other, to the users, and/or to the geography), the types offirearms used by the hostiles (including the expected ammunition stocksand possible reserves therefor), the number of firearms used by thehostiles, an amount of time for which the firearms of the users havebeen firing at the users, and the like.

In embodiments, system 100 can prompt a user of a firearm for inputverifying that a threat exists. For example, where threat detection andanalysis module 402 detects a potential threat with low confidence, asignal may be transmitted to a personal computing device of a userwithin the deployment location to verify whether a threat is present inthe deployment location. The user may respond in one or more ways toverify the potential threat. For example, the personal computing devicemay include a button or other hardware interface which may be toggled inresponse to the request for verification to indicate whether the threatexists. In another example, the personal computing device or a wearabledevice may include a microphone. The user can speak into the microphoneto verify whether the threat exists. Other options for verifying athreat are possible, as will be understood. In embodiments, a mode ofthe safety on the firearm can be detected and can be a further optionfor verifying a threat such that one of the modes (e.g., safe, semi,full-auto, locked) can be an additional metric when assessing the threatdetection.

In embodiments, system 100 may allow a user (e.g., of a firearm and/orof a remote dashboard) to validate a threat using the firearm, forexample, during in a live combat situation. For example, application 102may establish or otherwise be used to establish a pressure signature tovalidate the threat. The threat may be validated by application 102(e.g., by threat detection and analysis module 402) by comparing thepressure signature against a range of pressure signatures, for examplefrom no pressure to extreme pressure.

The pressure signature may be established by collecting information,such as information from sensors, for example, sensors 118, sensors 120,sensors 122, and/or other sensors, such as multi-modal sensors 1060.Combinations of sensors may include combinations of wearable and firearmsensors, combinations of the firearm and fixed sensors, for example,Internet of Things (IoT) sensors, and the like. A sensor equippedfirearm may include a pressure sensor, for example, to determine a gripprofile using information such as threat ID, shot accuracy, engagement,alert information and tactical information. Information collected from asensor equipped firearm may include discharge information, motioninformation, rate of motion information, orientation information and thelike. The rate of motion information, for example, may include movementinformation related to speed, threat identification and shot accuracy.Movement information may also be related to an event identifier forevents, such as events associated with weapons and people. Eventsassociated with firearms may include events indicating the firearm hasfallen, is outside of a pre-designated distance from its owner, in anunauthorized area and the like. Events associated with people mayinclude events indicating a person is in an unauthorized area, themaneuvering speed of the person and the like.

In embodiments, determining the pressure signature may also includedetermining a firearm-specific candidate action of a first firearm user,from at least a portion of the collected information. The candidateaction may be compared with other firearm users, for example, otherfirearm users proximal to the first firearm user or other firearm usersassociated with the first firearm user. The collected information,candidate action or actions, and action comparison result may then bestored in a data structure that represents the pressure signature. Thecollected information, candidate action or actions, and actioncomparison result may also be filtered or weighted based on specifiedcriteria, prior to being stored in the data structure that representsthe pressure signature.

Threat response module 404 determines an action to be performed inresponse to a detected threat based on the detected threat and based onthe severity of the detected threat. The action determined using threatresponse module 404 may be based on the threat detected. As such, thethreat response module 404 can use information, qualities,characteristics, or other aspects of the detected threat (e.g.,identified, determined, or otherwise produced using threat detection andanalysis module 402) to determine the action to perform in response tothe detected threat. Examples of actions which may be determined usingthreat response module 404 include, but are not limited to, delivery ofadditional ammunition to one or more users within the deploymentlocation, request for reinforcements within the deployment location toassist in engaging the threat, delivery of new firearms or otherweaponry (e.g., weaponry which is heavier or otherwise more powerfulthan is currently possessed by the users within the deployment location)to one or more users within the deployment location, delivery of medicalequipment to one or more users within the deployment location, requestfor medical personnel within the deployment location (e.g., with orwithout medical equipment), delivery of new communications tools withinthe deployment location, transmissions of notifications to nearbyconnection points (e.g., to notify another group of users as to theexistence of the threat detection or engagement), or the like.

The threat response module 404 can use a rule-based approach todetermine an appropriate threat response. In embodiments, the rule-basedapproach used by threat response module 404 may be the same rule-basedapproach as may be used by threat detection and analysis module 402. Inembodiments, the rule-based approach used by threat response module 404may be an extension of the rule-based approach used by threat detectionand analysis module 402. The rule-based approach used by threat responsemodule 404 can indicate to determine certain threat responses based oncertain detected threats and/or based on certain severities of detectedthreats. For example, a rule can indicate to deliver additionalammunition (e.g., by UAV or otherwise) when a detected threat includesmultiple hostile combatants and the associated threat severity is high.In another example, a rule can indicate to request reinforcements toarrive at the deployment location within some specified or unspecifiedamount of time when a detected threat includes a number of hostilecombatants which is higher than a number of engaging users and the skilllevels of the engaging users do not meet a threshold.

In embodiments, the action determined using threat response module 404can include or otherwise indicate a combination of actions to beperformed in response to a detected threat. For example, where threatdetection and analysis module 402 determines that a given user will runout of ammunition before the end of an engagement with a number ofhostiles and that the number of hostiles exceeds the number of users inthe group that includes the given user, threat response module 404 candetermine the action to be performed in response to the detected threatas delivering additional ammunition to the given user (e.g., by UAVdelivery or otherwise) and calling for reinforcements to assist thegroup of users in engaging the number of hostiles.

GUI generation and display module 406 generates, updates, and renders ordisplays GUIs. A GUI generated using GUI generation and display module406 can comprise part of a software GUI constituting data that reflectinformation ultimately destined for display on a hardware device, forexample, a client device or other computing device which communicateswith server device 112 or another computing device running, executing,interpreting, or otherwise operating application 102. For example, thedata can contain rendering instructions for bounded graphical displayregions, such as windows, or pixel information representative ofcontrols, such as buttons and drop-down menus. The renderinginstructions can, for example, be in the form of HTML, SGML, JavaScript,Jelly, AngularJS, or other text or binary instructions for generating aGUI or another GUI on a display that can be used to generate pixelinformation. A structured data output of one device can be provided toan input of the hardware display so that the elements provided on thehardware display screen represent the underlying structure of the outputdata. Instructions for displaying or otherwise rendering a GUI generatedusing GUI generation and display module 406 can be communicated fromserver device 112 to a client device or another computing device whichcommunicates with server device 112.

GUIs which may be generated, updated, and rendered or displayed usingGUI generation and display module 406 include a deployment location GUI,a remote support dashboard GUI, a user and firearm GUI, and others. Thedeployment location GUI includes a two-dimensional top-down geographicview of the deployment location including icons indicating positions andorientations of users and/or of firearms or other assets within thedeployment location and further including cones for the users, firearms,or other assets. The top-down geographic view may, for example,represent a real-time satellite feed imaging the deployment location.Alternatively, the top-down geographic view may represent terrain,topographic, roadway, or other map views of the deployment location.

The remote support dashboard GUI includes views for displaying andenabling user interaction with information relating to users, firearms,and/or other assets deployed to the deployment region. For example, theremote support dashboard GUI may include a dashboard view which displaysone or more of lists of users, lists of firearms possessed by the users,stock of ammunition possessed by the users, lists of potential or actualthreats detected within the deployment location, alerts corresponding todetected threats, alerts corresponding to detections of firearms beingfired, or the like. In another example, the remote support dashboardview may include a validation view which presents requests, actions, orother information for review and/or approval by a user of application102. The validation view may, for example, display notificationsrelating to automated responses taken based on detected threats. Inembodiments, where a response is presented for user approval beforeexecution, the validation view may present a request to approve aresponse.

The user and firearm GUI include views indicating real-time position andorientation information for users and firearms used thereby. Forexample, the user and firearm GUI may include a three-dimensionalfirearm orientation view which updates in real-time based on signalsreceived from a firearm to show an orientation of the firearm, forexample, with respect to a surface on which a user of the firearm isstanding or otherwise located. In another example, the user and firearmGUI may include a two-dimensional recoil tracking view which updates inreal-time based on signals received from a firearm to show how thefirearm moves over time based on recoil from firings of the firearm. Inyet another example, the user and firearm GUI may include a view showingreal-time video or image feeds captured using a body camera of a user.

In embodiments, two or more GUIs, or views from two or more GUIs, may becombined into a single GUI which is rendered or displayed. For example,some or all views of the user and firearm GUI may be included in thedeployment location GUI, for example, to enable the simultaneous displayof multiple monitors. For example, as will be described below withrespect to FIG. 6, a deployment location GUI may include a top-downgeographic view, a three-dimensional firearm orientation view, atwo-dimensional recoil tracking view, and a user body camera feed view.In this way, a remote user of application 102 can simultaneously viewreal-time information regarding user hostile engagement or detectionwithin the deployment location and individual or group firearmmonitoring information.

Signal processing module 408 processes signals received, directly orindirectly, from assets within a deployment location. The signalprocessing module 408 can receive and process signals from firearms 104,wearable devices 106, stationary devices 108, and/or other assets.Processing signals using signal processing module 408 includes preparingdata included within those signals for use with other modules ofapplication 102. For example, signal processing module 408 can process asignal to prepare the signal for use by one or more of firearmmonitoring module 400, threat detection and analysis module 402, or GUIgeneration and display module 406. For example, a signal received atapplication 102 may be received in a compressed form. The signalprocessing module 108 processes the signal including by decompressingthe signal to restore the data included in the signal to an uncompressedform. In another example, a signal received at application 102 mayinclude noise, for example, introduced during the recording of sensormeasurements (e.g., by motion of a user, vibrations to which a sensor isexposed, or another noise source). The signal processing module 408 candenoise the signal before making the signal available to one or more offirearm monitoring module 400, threat detection and analysis module 402,or GUI generation and display module 406.

In embodiments, signal processing module 408 can receive and processbatches of signals. For example, rather than receiving a sequence ofindividual signals, signal processing module 408 can receive a batch ofsignals generated, identified, or otherwise collected (e.g., usingconnection point 116) for transmission to server device 112 for use withapplication 102. For example, a batch of signals may represent signalscollected within a defined time interval (e.g., within a five secondperiod or less). For example, connection point 116, or another componentwhich collects signals from assets deployed within a deploymentlocation, can use timestamps for the signals to coordinate batching ofsignals for transmission to server device 112. In another example, abatch of signals may represent signals relating to common asset types orfrom a specific asset or group of assets. For example, connection point116, or another component which collects signals from assets deployedwithin a deployment location, can determine the type of asset from whicha signal is collected (e.g., based on pre-processing performed againstthe signal and/or based on a channel of communication used to collectthe signal) and can coordinate batching of signals for transmission toserver device 112 by grouping the signals by asset type.

In embodiments, application 102 includes inventory controlfunctionality. For example, the inventory control functionality caninclude monitoring stores of asset inventory (e.g., firearms,ammunition, wearable devices, stationary devices, and/or other assets)within one or more locations. The inventory control functionality can beused to track when assets are taken out of an inventory store (e.g., foruse in arming a user during a deployment). The inventory controlfunctionality can also be used to track inventory usage, for example, toassist in determining when resupply orders are needed. In some suchembodiments, the inventory control functionality of application 102 caninclude functionality for automating resupply orders of some or allasset inventories, for example, based on the monitoring of the assetswithin one or more locations of the inventory stores and/or within oneor more deployment locations.

In embodiments, application 102 includes predictive functionality. Insome such embodiments, the predictive functionality of application 102can include functionality for determining an action to be performed evenin the absence of a detected threat. For example, the predictivefunctionality of application 102 can include a predictive resupplymodule that predicts a need to resupply ammunition based on the numberof shots taken using one or more firearms. The predictive functionalityof application 102 can include generating an alert indicative of theaction to be performed, for example, to notify a user of the firearm,remote support personnel, or other personnel. In embodiments, whichinclude such predictive resupply module and inventory controlfunctionality, the inventory control functionality can account forinventory of rounds used with the predictive resupply module that tracksthe amount of ammunition used and alerts when the inventory and shotsfired do not match indicating a loss of ammunition.

In other such embodiments, the predictive functionality of application102 can include functionality for predicting maintenance or other statesof assets within a deployment location. For example, the predictivemaintenance can include predicting a maintenance requirement and/orstatus of a firearm based on a number of shots taken, based on recoilparameters (e.g., showing degradation of performance as recoil patternsshift over time), and/or based on other criteria. The predictivefunctionality of application 102 can include generating an alertindicative of the predicted maintenance requirement and/or status, forexample, to notify a user of the firearm, remote support personnel, orother personnel.

Beneficially, the firearm usage monitoring system may providemaintenance alerts and confirmation of maintenance performed on afirearm without user input. In embodiments, the firearm usage monitoringsystem is configured to monitor round count and fatigue (e.g., heat fluxand temperature buildup from discharge events) to determine whenreplacement of consumable or degradable components is likely.Beneficially, the firearm usage monitoring system may include supplychain information (e.g., deployed inventories or inventories at depot,resupply, or global resupply) to alert a resupply need or automaticallyresupply components. In embodiments, sensors on the firearm 104 areconfigured to monitor the noise, vibration, and harshness signature(NVH) to determine potential failure modes (e.g., NVH increaseindicative of overheating event) and/or maintenance (e.g., NVH decreaseindicative of component replacement or cleaning).

In embodiments, application 102 can use machine learning functionality(e.g., implemented as one or more machine learning modules ofapplication 102) for training and/or inference. For example, the machinelearning functionality of application 102 can be used to trainapplication 102 based on information input to or output from one or moreof modules 400-408. In another example, the machine learningfunctionality of application 102 can perform inference againstinformation input to or output from one or more of modules 400-408. Inyet another example, the machine learning functionality of application102 can perform both the training and the inference described above.

In embodiments, the machine learning functionality of application 102can include algorithms for determining recoil of firearms 104 and otherbehaviors or characteristics of system 100. For example, in embodiments,the machine learning functionality of application 102 includesidentification algorithms to determine the complex motion associatedwith the discharge of a particular type of weapon. Embodiments mayinclude feeding IMU data collected upon gripping, movement, anddischarge of weapons into the machine learning functionality ofapplication 102, for example, so that the machine learning functionalityof application 102 can learn the parameters of each with respect toenough training events that it can rapidly and accurately identify newevents based on new IMU data, such as collected in real time. Inembodiments, the machine learning functionality of application 102 canbe trained to learn to identify a threatening situation when the grip isengaged and the firearm is pointed, when the motion has increasedindicating a pursuit, and when it is not in motion (e.g., placed insleep mode). More complex patterns can be learned, such as determiningwhat patterns tend to lead to accidents, dangerous incidents, higherquality training, and the like.

In an example of learning and utilization of a complex pattern, themachine learning functionality of application 102 can be used todetermine firearm movements that may indicate a discharge from a firearmis imminent. In this example, the machine learning functionality ofapplication 102 may, for example, detect motion and orientation datafrom sensors, such as from sensors on the firearm, sensors in a meshnetwork (e.g., including other firearms), or other assets (e.g., sensorswithin wearable devices, multi-modal sensors, etc.) of the human user ofthe firearm, which in turn may be used by the machine learningfunctionality of application 102 to facilitate a threat response. Inembodiments, a threat response may include an automatic threat response,such as by one or more machines that are teamed with the human user ofthe firearm.

In another example of learning and utilization of a complex pattern, themachine learning functionality of application 102 can considerinformation stored within a knowledgebase or other data store (e.g., ofdatabase 124 or another source). For example, the information may relateto past engagements of users, whether or not involving the same users asare currently deployed within a given deployment location. Theinformation may, for example, relate to one or more of a user skilllevel, firearm type, amount of ammunition used in engagements based onuser skill level and/or firearm type, numbers of engagements of users,numbers of threats or otherwise of hostile combatants or weaponryengaged, number of users in a group which engaged a threat, number offirearms possessed per user of such a group, or the like.

In embodiments, the machine learning functionality of application 102may determine combinations of data, such as motion, orientation andmulti-modal sensor information that are indicative of imminent dischargeof the firearm. The machine learning functionality of application 102may also receive other inputs or generate information to combine withthe sensor information, such as an indication of a firearm state.Firearm states may include combat states, training states, wartimestates, peacetime states, civilian states, military states, firstresponder states, incident response states, emergency states, militarycontractor states, on-call states, and the like. Firearm states may bestates from one or more than one firearm, for example, a set of firearmsassociated with a group of soldiers in the same section of a battlefieldor a set of police officers in a region.

Combinations of data may allow the machine learning system to recognize,determine, classify, or predict information, such as about environments,objects, image content, whether a person is friendly or adversary,structures, landscapes, human and human gestures, facial indicators,voices, and locations, among others. Example combinations may includecombinations of data from topography and physiological monitors, ISR,and structure recognition combinations, as well as combinations of humanand machine physical states. Combinations of data may also be tacticalcombinations. Tactical combinations may combine data from devices on abattlefield, information about other sectors of fire, and the like andmay include firearms and other weapons, vehicles, body armor and otherwearable elements, and the like (collectively referred to herein as“battlefield of things”) devices including, for example, remotelyoperated units such as Common Remotely Operated Weapon Stations (CROWS)or other remote controlled firearms that may be configured with heaviercalibers and higher lethality.

Objects that may be recognized by machine learning may include weapons,man-made objects, natural objects, and the like. Structures may includedoors, stairs, walls, drop-offs, and the like. Human gestures may bedetected, interpreted and understood by the machine learning system,while facial indicators could be indicators of mood, intent, and thelike. The machine learning functionality of application 102 may usethresholds to assist with determination and recognition process. Forexample, combinations of data exceeding specified levels may provide ahigh degree of confidence that the recognition process is accurate.

In embodiments, the machine learning functionality of application 102,teamed with the human user of a firearm, may be operated autonomously,for example, in response to a determined intent of the human user of thefirearm teamed with the machine learning functionality of application102. The machine learning functionality of application 102 may be usedto detect gestures of the human firearm user, for example, by capturingand analyzing data from sensors that detect conditions of the human, aswell as firearm sensors. Sensors that detect conditions of the human mayinclude multi-modal sensors and multi-modal wearable sensors. Gesturesmay include pointing gestures, threat identification gestures, targetacquisition gestures, signaling gestures and the like.

In embodiments, conditions recognized by the machine learningfunctionality of application 102 or sensed in order to facilitatetraining of the machine learning functionality of application 102 mayinclude conditions indicative of human states, such as stress and otherphysiological states. Conditions indicative of human states and capturedby sensors for analysis by the firearm usage monitoring system mayinclude heart rate conditions, for example, physical staterelationships, blood pressure conditions, body temperature, galvanicskin response, heat flux, moisture, chemistry (for example glucoselevels), muscle states and neurological states. Various biologicalconditions or biosensors may be indicative of threats, such as heartrate conditions, body temperature, moisture (such as indicatingexcessive perspiration), blood pressure, galvanic skin response, andothers. Firearm sensors may be multi-modal firearm sensors and mayinclude sensors that detect motion, orientation and discharge state ofthe firearm.

In embodiments, the FAMS implements machine learning algorithms to forma motion-analysis model. Training data may be collected and curated froma set of data recorded by the FUMS. The training set may be formed bycleaning, organizing, and labeling the data. The cleaning includes, forexample, removing duplicative data, removing data that does not includethe target action, and removing false-positive data. The organizingincludes associating connected data from different sources. For example,the data may be structured such that sensor and other recordedinformation related to a single firearm is grouped together. Therecorded information may be from the firearm and coupled devices orexternal sources where the firearm is identifiable (e.g., surveillancevideo). The labeling includes assigning meaningful tags to the groupeddata, such as “discharge,” “no discharge,” “intentional,”“unintentional,” “misfire,” “jam,” “overheat,” “maintenance,” and otherrelevant labels. Information that is temporally proximate to the desiredlabels is also included within the training set. In some examples, thetemporally proximate data includes data from 10 minutes, 5 minutes, 3minutes, 1 minute, or 30 seconds prior to occurrence of the labeledevent and data from 1 second, 5 seconds, 30 seconds, 1 minute, 3minutes, or 5 minutes after the labeled event. The training set is thenprovided to a machine learning algorithm to form an analysis model thatis configured to be used in real-time to predict events during usage ofthe firearm (e.g., discharge or jamming). It can be shown that withpre-determined time intervals after a discharge event based on theweapon and its ammunition can provide a 99.7% identification rate. Inembodiments, the training set is further used to form a training modelconfigured to clean, organize, and/or label data to form one or moreupdated training sets. Beneficially, such models and training may beextended to learning and analysis of non-discharge patterns, such asdetermining movement patterns indicative of user conditions includingabnormal gait, injuries, over encumbrance, cognitive impairment, andexhaustion.

Analyzing the data by application 102 (e.g., by firearm monitoringmodule 400, threat detection and analysis module 402, threat responsemodule 404, GUI generation and display module 406, signal processingmodule 408, or another software module of application 102) may produce aset of candidate intents of the human firearm user or of anotherindividual in proximity to the firearm user (such as where camerainformation, voice information, and the like is available). Thecandidate intents may, in embodiments, be combined with physical andoperation machine state information to select one or more action plans.The machine teamed with the human user of the firearm may then executeand adjust the selected action plan based on updated intents, machinestates, and environmental factors. Machine state factors may includephysical factors, operational factors, orientation factors,tactile/force factors, and the like.

Environmental factors may include weather factors, location datafactors, altitude factors, topography factors, video factors and thelike. Weather factors may include temperature, humidity, wind speed,wind direction and precipitation factors, among others. Location datafactors may include streaming data, as well as data acquired fromgeolocation services (e.g., using a global navigation satellite system,for example, GPS, GLONASS, BDS, Galileo, or the like) and beacons,connection points or the like, as well as through cellular. Topographyfactors may include data and observations, while video factors mayinclude both live and archived video feeds. The action plan may also beformed from a set of predetermined action steps, for example, actionsteps that each satisfy human teaming criteria selected to coordinatewith at least one of the candidate intents. Actions steps may also bearranged into action plans by sets of rules.

In embodiments, the machine learning functionality of application 102may be trained to recognize and distinguish between non-combatactivities and combat activities. For example, the machine learningfunctionality of application 102 may be trained to recognize celebratorysituations such as dancing scenarios and first bump scenarios separatefrom other human machine learning scenarios in much more threatening andcomplex environments. In other examples, the machine learningfunctionality of application 102 may be trained to distinguish betweencelebratory fire and threatening fire. By way of these examples, themachine learning functionality of application 102 may learn themovements of the users of system 100, for example, by translating anddetecting their motion and comparing the identified motions in contextwith a deployment location in comparison with trained examples,confidence in those examples, corrections to past activity, and the liketo assist, anticipate, protect, support, and facilitate the needs of theusers in the theater more quickly and more safely.

In embodiments, the machine learning functionality of application 102may manage a coordinated team of human users of firearms and at leastone machine. In this embodiment, the machine learning functionality ofapplication 102 may receive as inputs at least one sensory input about ahuman and at least one sensory input about a machine that is part of theteam coordinated with the human. The machine learning functionality ofapplication 102 may then automatically, using machine learning,determine the occurrence of an event, such as a pre-discharge event, adischarge event, a post-discharge event (including a post dischargeadverse event) or other events. Post discharge adverse events mayinclude injury to the human or occurrence of damage to the machine, suchas subsequent to the detection of a firearm discharge event by thesystem.

In embodiments, application 102 (e.g., using firearm monitoring module400 or another module) may track with a global navigation satellitesystem (e.g., GPS). In embodiments, application 102 includes networkreporting facility, such as through a Bluetooth® or other short- orlong-range discharge report to a centralized server.

The functions of the system sub-components shown in FIG. 4 can beimplemented in digital electronic circuitry, in computer software,firmware or hardware. The techniques can be implemented using one ormore computer program products. Programmable processors and computerscan be packaged or included in mobile devices. The processes may beperformed by one or more programmable processors and by one or more setof programmable logic circuitry. General and special purpose computingand storage devices can be interconnected through communicationnetworks.

Some embodiments include electronic components, such as microprocessors,storage and memory that store computer program instructions in amachine-readable or computer-readable medium (alternatively referred toas computer-readable storage media, machine-readable media, ormachine-readable storage media). The computer-readable media may store acomputer program that is executable by at least one processing unit andincludes sets of instructions for performing various operations.Examples of computer programs or computer code include one or more of:source code; object code; machine code, such as is produced by acompiler; or files including higher-level code that are executed by acomputer, an electronic component, or a microprocessor using aninterpreter.

Referring to FIG. 5, inputs 500, processing options 502, and outputs 504related to threat detection and analysis functionality of system 100 areshown by example. Inputs 500, processing options 502, and outputs 504may, for example, refer to functionality of threat detection andanalysis module 402. Inputs 500 shown by example include sensors 506,knowledgebase 508, and machine learning models 510. Processing options502 shown by example include firearm discharge detection 512, firearmorientation change detection 514, asset motion detection 516, andnon-user motion detection 518. Outputs 504 shown by example include nothreat 520, detected threat 522, and threat severity 524. One or moreinputs 500 may be used to determine one or more outputs 504 using one ormore processing options 502.

Referring to FIGS. 6-10, example GUIs of application 102 are shown. TheGUIs shown in FIGS. 6-10 may, for example, be GUIs generated anddisplayed using GUI generation and display module 406. In FIG. 6,top-down geographic view 600 representing a satellite-view visualizationof a deployment location is shown. Users 602A-D are shown at particularlocations within the deployment location, for example, based ongeolocation sensors included within or coupled to firearms or othermobile assets of users 602A-D. Cones of fire 604A-D are shown asprojecting outwardly from respective ones of users 602A-D in directionsin which firearms of those ones of users 602A-D are pointing. Inparticular, cones of fire 604A-D are shown in FIG. 6 as non-overlapping.As will be understood, depending on the orientations of firearms ofusers visually represented within top-down geographic view 600, cones offire may be non-overlapping, partially overlapping, or whollyoverlapping. The greater the overlap and the greater numbers of overlapindicate a higher likelihood of a present threat since the firearms arebeing aimed at a common location. Top-down geographic view 600 ispopulated with icons showing exact locations of firearms 104. Inembodiments, the icons can include all personnel and/or statusinformation for the firearms. In embodiments, the icons can include abutton or other user interface element used to zoom in on the locationof a firearm (e.g., to drill down on data associated with the firearm).

Also in FIG. 6, three-dimensional firearm orientation view 606,two-dimensional recoil tracking view 608, and user body camera feed view610 are shown. Three-dimensional firearm orientation view 606 representsa visualization of a firearm of a user (e.g., one of users 602A-D) withreal-time updates based on the specific orientation of the firearm.Two-dimensional recoil tracking view 608 represents a visualizationshowing real-time changes over time of an orientation of a barrel orother portion of a firearm based on recoil resulting from firing thefirearm. In embodiments, the visualization showing real-time changesover time of an orientation of a barrel or other portion of a firearmcan also be based on other displaying motions such as transitioning todifferent targets, over or under adjustment for target transitions,pre-shot and post-shot movement or jitter. User body camera feed view610 represents a real-time video stream from a camera or other imagingdevice worn by a user or otherwise included within or coupled to anasset on a user. In embodiments, one or more of three-dimensionalfirearm orientation view 606, two-dimensional recoil tracking view 608,or user body camera feed view 610 may not be included in the GUI whichincludes top-down geographic view 600. In embodiments, the GUI whichincludes top-down geographic view 600 may include views other thanthree-dimensional firearm orientation view 606, two-dimensional recoiltracking view 608, and user body camera feed view 610.

In embodiments, top-down geographic view 600 or a GUI which includestop-down geographic view 600 can display notifications providing detailsabout one or more of users 602A-D, cones of fire 604A-D, or informationrelating to one or more of views 606, 608, or 610/For example, thenotifications can indicate information regarding movements of a firearmrelative to a user thereof, for example, as “weapon aimed,” “weaponholstered,” “weapon separated from the user,” and the like.

In embodiments, information about some or all of users 602A-D may bedisplayed in the GUI. The information may, for example, include orrelate to names, ranks, years of service, skill levels, weapons present,ammunition stocks present, numbers of shots fired since arrival at thelocation shown, health information, threat engagement information, orthe like, or a combination thereof. In some such embodiments, theinformation may be displayed in the GUI by default. In other suchembodiments, the information may be displayed in response to aninteraction by a remote user of the GUI. For example, information for agiven user may be displayed as a prompt in response to the remotedashboard user selecting that given user within the GUI.

In embodiments, information representative of sensor measurementsrecorded using some or all of the sensors within the deployment locationmay be displayed in the GUI. The information may, for example, includeor relate to sensor types, measurements, flags which indicate that themeasurements represent actionable information (e.g., a trigger sensormeasurement indicates that the user's finger is on the trigger and/orthat the trigger has been toggled, such that a threat engagement isunderway), or the like, or a combination thereof. In some suchembodiments, the information may be displayed in the GUI by default. Inother such embodiments, the information may be displayed in response toan interaction by a remote user of the GUI. For example, information fora given firearm within the deployment location may be displayed as aprompt in response to the remote user of the GUI selecting that givenfirearm or the user thereof within the GUI. In embodiments, some or allof the projections or orientation views can be shown inthree-dimensional renderings.

In FIG. 7, top-down geographic view 600 of FIG. 6 is shown. Here, thecones for the firearms of the users visually represented in the top-downgeographic view are shown as coalescing. For example, whereas thepositions and orientations of cones of fire 604A-B and correspondingusers 602A-B in FIG. 6 were based on first sensor information collectedat a first time, the positions and orientations of cones of fire 604A-Band corresponding users 602A-B in FIG. 7 are based on second sensorinformation collected at a second time after the first time. The GUIincluding top-down geographic view 600 as shown in FIG. 7 has thus beenupdated as compared to how that GUI appears in FIG. 6. The coalescence(e.g., partial or whole overlap) of multiple one of cones of fire 604A-Bis used to detect a threat 700. For example, the coalescence of themultiple cones of fire 604A-B may indicate that multiple users 602A-Bassociated with those cones of fire 604A-B are actively drawing theirfirearms on, or otherwise towards, threat 700. In embodiments, acoalescence of cones of fire can be visually represented in top-downgeographic view 600 by changing an appearance of the coalescing cones.For example, coalesced cones can be changed to visually appear in adifferent color (e.g., from white to red), with shading, with differentborder line thickness, or in another emphasizing manner. In embodiments,a severity of a detected threat may be visually represented in top-downgeographic view 600. For example, a higher severity may be visuallyrepresented at the icon of threat 700, for example, by changing a color,shading, border thickness, or other aspect of the icon of threat 700.

In FIG. 8, the top-down geographic view 600 of FIG. 6 is again shown,but with visual prompts 800 and 802 representing information relating tousers 602A and 602B, respectively, and visual prompt 804 representinginformation relating to threat 700. Prompt 800 visually representswithin top-down geographic view 600 that user 602A is named S. Smith, isskill level ten, and has low ammunition supply. Prompt 802 visuallyrepresents within top-down geographic view 600 that user 602B is namedM. Matthews, is skill level five, and has low ammunition supply. Prompt804 visually represents within top-down geographic view 600 that threat700 is an actively engaged threat and includes four or more hostiles. Inembodiments, one or more of visual prompts 800, 802, or 804 isautomatically shown in the GUI which includes top-down geographic view600. In embodiments, one or more of visual prompts 800, 802, or 804 isshown in the GUI which includes top-down geographic view 600 in responseto selection by a user of application 102 (e.g., a remote support user)of one or more of user 602A, user 602B, or hostile 700 within top-downgeographic view 600. In embodiments, one or more of visual prompts 800,802, or 804 may be visually represented within the GUI which includestop-down geographic view 600, but outside of top-down geographic view600. For example, a separate view of that GUI may present text-based orother information about users 602A-B and/or about threat 700.

In FIG. 9, a top-down geographic view 900 different from top-downgeographic view 600 is shown. Top-down geographic view 900 represents anoverhead visualization of multiple users 902 engaged in live fire 904.In embodiments, top-down geographic view 900 displays informationrelating to one or more of sectors of fire 906, threat locations 908,weapon statuses 910, fellow and partner forces 912, or ammunitionstatuses 914. In embodiments, sectors of fire 906 can show the areabeing attacked. By way of this example, a cone of other suitable shapescan be depicted adjacent to the weapon to show the area to which livefire is directed. It will be appreciated that movements of the weaponand movements of users 902 motivate showing sectors of fire 906 incone-like shapes rather than lines. In doing so, these sectors of fire906 can overlay on each other when there is multiple live fire fromfellow and partner forces 912 and their intersections can identify orfacilitate in the identification of threat locations 908. Inembodiments, weapon statuses 910 and ammunition statuses 914 canindicate whether ammunition is running low, time until exhaustion ofammunition, jammed weapon, and the like. In embodiments, top-downgeographic view 900 may visually represent one or more of sectors offire 906, threat locations 908, weapon statuses 910, fellow and partnerforces 912, or ammunition statuses 914 using icons. In some suchembodiments, top-down geographic view 900 or a GUI which includestop-down geographic view 900 may include a legend of those icons. Inembodiments, ammunition statuses 914 may be visually represented indifferent ways based on the status. For example, an ammunition statusindicative of the user having a sufficient ammunition inventory may beshown by green ammunition status 914A. In another example, an ammunitionstatus indicative of the user having an ammunition inventory which isrunning low (e.g., lower than a threshold, which may be configurable ordefined based on the firearm type or otherwise) may be shown by yellowammunition status 914B. In yet another example, an ammunition statusindicative of the user having an ammunition inventory which is depletedor nearly depleted may be shown by red ammunition status 914C.

In FIG. 10, first dashboard view 1000 representing a visualization of anexample of a first page of a dashboard of application 102 is shown.Application front-end includes pages corresponding to tabs 1002, 1004,1006, and 1008. Tab 1002 corresponds to a main page (e.g., the firstpage shown in FIG. 10), Tab 1004 corresponds to a maps page (e.g., fordisplaying a GUI with top-down geographic view 600 shown in any of FIGS.6-9). Tab 1006 corresponds to a threats page (e.g., described below withrespect to FIG. 11). Tab 1008 corresponds to a knowledgebase (e.g.,representing data stored in database 124). First dashboard view 1000includes user interface elements 1010, 1012, and 1014 for reportinginformation about system 100. Element 1010 reports a list of userscurrently deployed within a deployment location (e.g., users 60A-B).Element 1012 reports a list of communication systems in use. Element1014 reports a list of alerts for the attention of a user of thedashboard.

In embodiments, as in the example shown in FIG. 10, the informationreported using elements 1010, 1012, and 1014 is organized by groups ofusers. However, in embodiments, such information may be organized byindividual user or in another manner. In embodiments, element 1012 mayinclude status information for connections between application 102 andconnection points deployed within deployment locations.

In FIG. 11, second dashboard view 1100 representing a visualization ofan example of a second page of the dashboard of application 102 isshown. In the example shown, the second page as shown in FIG. 11 is thethreats page corresponding to tab 1006. Second dashboard view 1100includes user interface elements 1102, 1104, 1106, 1108, and 1110.Elements 1102 and 1104 are used for reporting information about system100. Elements 1106, 1108, and 1110 are interactive elements which can betoggled (e.g., clicked) by a user of the dashboard. Element 1102 reportsa list of detected threats, including information about users affectedby the threats, predictions of what the threats are, and conditionsfaced by the users in addressing the threats. Element 1104 reports alist of automated responses taken based on the detected threats,including methods of performance and estimated times for performance.Element 1106 is a button allowing a user of the dashboard to send analert relating to the threats reported in element 1102 and/or theresponses reported in element 1104, for example, to users deployedwithin the deployment location related to the detected threats or toothers (e.g., remote managers or other personnel). Element 1108 is abutton allowing a user of the dashboard to modify an automated responsereported in element 1104, for example, if he or she believes differentsupport would be useful or based on communications from the usersengaged in addressing the threat (e.g., after the detection of thethreat). Element 1110 is a button allowing a user of the dashboard tocancel an automated response reported in element 1104, for example, ifhe or she believes support is no longer necessary or based oncommunications from the users engaged in addressing the threat (e.g.,after the detection of the threat and/or after a portion of theautomated response is performed).

In embodiments, threats and responses reported within second dashboardview 1100 may correspond to any of a number of user groups registeredwith system 100. In embodiments, threats and responses reported withinsecond dashboard view 1100 may correspond to individual groups. Inembodiments, threats and responses reported within second dashboard view1100 may correspond to individual users. In embodiments, the responsesreported within element 1104 are not automated. In such embodiments, thesecond dashboard view 1100 includes a user interface element for theuser to interact with to verify or otherwise approve a proposedresponse.

In embodiments, the number and/or types of elements included within aGUI or within a view of a GUI (e.g., a GUI as shown in any of FIGS.6-11) can be controlled based on the type of GUI or the type of viewwithin the GUI. For example, when top-down geographic view 600 becomestoo dense with overlapping icons, the GUI which includes top-downgeographic view 600 may automatically update to visually represent a newicon symbolizing multiple units within the area shown. For example,referring to FIG. 6, users 602A-B may be combined into a user group andvisually represented using a single icon rather than the two separateicons shown.

In embodiments, the dashboard of application 102 may include GUIs and/orviews other than what is shown in FIGS. 10 and 11. For example, thedashboard of application 102 may include communication and mappingfeatures, such as to track the location of all weapons in real-time, tohighlight relevant events (such as weapons being gripped, weapons beingraised, or weapons that have been discharged). In some such embodiments,the dashboard of application 102 may include the GUIs shown in any ofFIGS. 6-9 (e.g., accessible via tab 1004 or another tab or userinterface element). In another example, the dashboard may provide accessinformation from other systems, such as making available camera views,such as ones that are triggered by activation of body cameras or on-sitecameras from within the deployment location or from the dashboard. Inembodiments, the dashboard includes a GUI and/or view for separatingusers into groups/echelons with designated permissions. For example, thedashboard may include different GUIs and/or views for each of one ormore of ground units, officers, military personnel, aninvestigator/compliance officer, and the like.

Referring to FIG. 12, a mesh network usable with system 100 is shown.The mesh network is made up of a number of network devices, includingconnection points 1200 and 1202, either of which may, for example, beconnection point 116. The mesh network is used by a number of users(e.g., some or all of users 1204, 1206, 1208, 1210, and 1212) tocommunicate information (e.g., sensor measurements) recorded for thoseusers to the server device 112 for processing using application 102. Inembodiments, some of the users, such as users 1204, 1206, and 1208, havemobile computing devices 1214, 1216, and 1218, respectively, whichoperate to extend the mesh network when in range of connection point1200 or connection point 1202.

Depending on their proximity to connection point 1200 or to connectionpoint 1202, devices associated with users 1204, 1206, 1208, 1210, and1212 may or may not be able to connect to connection point 1200 or toconnection point 1202. In the example shown, users 1208 and 1210 arestanding in the range of connection point 1200 and therefore devices ofusers 1208 and 1210 may be able to connect to connection point 1200.Similarly, user 1210 is shown as standing in the range of connectionpoint 1202 and the devices of user 1210 may be able to connect toconnection point 1202. In embodiments, the range of the mesh networkcreated by connection points 1200 and 1202 may be extended by mobilecomputing devices 1214, 1216, and 1218. For example, in such anembodiment, users 1204 and 1206 would also be within the range ofconnection point 1200 and therefore devices of users 1204 and 1206 maybe able to connect to connection point 1200. However, because user 1212is not within the range of either connection point 1200 or connectionpoint 1202, and because user 1212 does not have a mobile computingdevice to extend the mesh network created thereby, devices associatedwith user 1212 are unable to connect to either connection point 1200 orconnection 1202 while user 1212 remains at the location shown.

In embodiments, the mesh network may be a self-organizing and fluid meshnetwork that organizes and reorganizes itself based on specified data,including data filtered or weighted based on specified criteria, and/orthe dynamic detection of other devices, for example with a geographicperimeter. Other devices may include deployable mesh network hubs (alsoknown as “pucks”), beacons, wireless connection points, such as Wi-Ficonnection points, lighting systems, cameras, and the like, each ofwhich may be connection point 1200 or connection point 1202 or mobilecomputing device 1214, 1216, or 1218. The mesh network may also includeasset management systems, crowdsourced communications, frequencyscanning networking systems, cellular mesh networking systems, and/orother systems.

In embodiments, devices on the mesh network may adjust locationinformation based on the relative movement of each other within the meshnetwork. In embodiments, the relative movement of devices may bereported by other devices within the mesh network over the mesh network,such as to the self-disposing devices. The relative movement of otherdevices may also be derived from IMUs disposed with the other deviceswithin the mesh network.

Relative movement information may include speed, velocity, accelerationor position information, and/or event identification information. Suchinformation may include threat identification information, shot accuracyinformation and the like. Event identification information may includeweapon information, information indicating a person is in anunauthorized area, soldier maneuver information (e.g., speed, direction,activity, or the like), in-position information (such as for anindividual or a device), rate-of-fire information, alternating fireinformation, maintenance required information, stoppage eventinformation, ammunition expenditure information, fight or struggleinformation and the like. In embodiments, authentication information maybe received from RF identification (RFID) implants, for example,implanted in the person.

In embodiments, the relative movement, such as among devices in the meshnetwork like firearms and other equipment may be provided relative to atleast one geographic location, such as through the use of data from theIMUs or from one or more other data sources. In embodiments, locationmay relate to relative locations of one or more other firearms or otherdevices connected to the mesh network, such as the distance, direction,and/or movement of one or more other firearms or other devices relativeto a given one. In such embodiments, geographic location and movementinformation, whether relating to a location or to another firearm orother device may be communicated to a given firearm or other systems ofan individual handling a firearm over the mesh network. In embodiments,the geographic location may be an underground geographic location, whereother geographic location detecting signals, such as GPS are notavailable. In embodiments, a combination of geographic location andrelative location may be understood by the system, such as where atleast one member of a mesh network has a detectable location (such as byGPS signal) and other members have locations that are determinedrelative to the known member, such as by detecting motion through theIMU or other non-GPS systems. It may be appreciated from theseembodiments that using data from the IMU on the mesh network may allowthe firearm usage monitoring system to provide discharge locationinformation in geographic locations that may not otherwise be covered bygeographic location detecting signals.

In embodiments, the mesh network connection may be a wireless meshnetwork connection and may be configured based on radio communicationfrequencies. In some situations, radio communication frequencies may besubject to interference or jamming, either intentionally or otherwise,making communication difficult or impossible when attempting toestablish a connection over the compromised frequency. Interference orjamming may include radio frequency interference or jamming, opticaljamming, noise, and the like. Because of the risk of jamming, andbecause communication reliability may be critical for the user of system100, the firearm usage monitoring system may detect such jamming of oneor more frequencies and automatically adjust the frequency of the meshnetwork to avoid using the compromised frequency, such as by selecting afrequency not currently subject to interference or jamming. System 100may then establish a wireless mesh network connection with anotherdevice using the selected frequency. Jamming or interference detectionmay include detecting attempted signal interception and scramblingtransmitted information to avoid the detected signal interception.

In embodiments, system 100 may determine discharge information relatedto the firing of a firearm of one of users 1204, 1206, 1208, 1210, or1212 connected to the mesh network. The discharge information mayinclude discharge location, direction of the discharge, a motion path ofthe firearm preceding discharge and/or orientation of the firearm atdischarge. Orientation information may be provided by the IMU of thefirearm and may include enemy area location and size information, unsafeact information, line of fire information, shift fire information,sectors of fire information, interlocking fire information, 360perimeter security information and the like.

The discharge information may be determined from motion and locationinformation, such as provided by devices connected to the mesh network.For example, the discharge location may be determined from geographiclocation data of one or more firearms connected to the mesh network andmay use relative movement data provided by the other devices connectedto the mesh network, for example by analyzing relative movement datathat is based on resident IMU data from other firearms connected to themesh network.

In embodiments, system 100 may perform over-the-air updates for hardwareand/or software within the range of connection points 1200 and 1202using connection points 1200 and 1202. In embodiments, devices withinrange of connection points 1200 and 1202 may be charged by wirelesscharging using connection points 1200 and 1202 as the power sources. Inembodiments, connection points 1200 and 1202 may record data (such asIMU data) from devices within range thereof when those devices are inactive or inactive modes (such as to flash memory) and may enable othermodes, such as a sleep/hibernation mode.

In embodiments, system 100 may function in active modes, sleep modesand/or hibernation modes. In the active mode, a device (e.g., componentsof a firearm, a computing device such as devices 1214, 1216, 1218, orthe like, or a device of another asset) may be in full power mode, suchas using power for collecting readings from the IMU and GPS andtransmitting them via a local protocol like BLE to an edge device. Inembodiments, data can be sent in this format at relatively high datarates, such as at 30 messages/second, 50 messages/second, 100messages/second, or the like. A sample string may includeAB-FC-22-CC-B3-00-00-00-00-00-00-00-00-00-00-00-00-5E-89-5A-C0-71-3E-E6-C0-FA-18-9C-C0-00-20-75-3F-00-80-52-3E-00-00-19-3E-00-00-B4-40-67-66-00-C1-34-33-6B-00-01-BA.The guide may be as follows: AB (header), FC-22-CC-B3-00 (millisecondtimestamp), 00-00-00-00 (latitude), 00-00-00-00 (longitude), 00-00(altitude in meters), 00 (horizontal accuracy in meters), 5E-89-5A-C0(gyro x), 71-3E-E6-C0 (gyro y), FA-18-9C-C0 (gyro z), 00-20-75-3F (accelx), 00-80-52-3E (accel y), 00-00-19-3E (accel z), 00-00-B4-40 (mag x),67-66-00-CI (mag y), 34-33-6B-C0 (mag z), 01 (unit status), BA (footer).A millisecond timestamp may be used, such as in a modified UNIXtimestamp, e.g., for milliseconds after 01-01-16. In embodiments, if BLEis unavailable or a message is not sent, this may be stored in the flashmemory to be sent when the device enters sleep mode. The active modemay, for example, be triggered when force is applied to a force sensor.Depending on the configuration, a device may remain in the active modefor a specified time, such as two minutes after the force is no longerapplied, for five minutes, for ten minutes, or the like. This timer maybe reset when force is reapplied.

In embodiments, devices connected within range of connection point 1200and/or connection point 1202 may also power down into a “sleep” mode,such as when there is no longer force applied to the device and thetimer has gone down (indicating expiration of active mode). In such asleep mode, one message may be sent at a defined period, such as onceper second, such as containing the timestamp, location data, and currentorientation data. A GPS module or like component of the device may enteran ATP (adaptive trickle power) state where it cycles between full powerand ATP to minimize power consumption while maintaining a fix on itslocation. In embodiments, a location fix may be maintained consistently,regardless of power mode. In embodiments, the IMU may be polled at a lowrate, such as to monitor movement. If no movement is sensed for a giventime, such as five minutes, then the unit may go into another even lowerpower mode, referred to herein as a hibernation mode. In some suchembodiments, connection points 1200 and 1202 may monitor and selectivelycontrol changes in modes of devices, for example, based on timestampsindicating connections between the devices and ones of connection points1200 and 1202, based on signals received by connection points 1200and/or 1202 from ones of the devices, and/or based on other criteria.

In such a hibernation mode, a device may continue to send messages(e.g., one per second), such as containing the timestamp, location data,and current orientation data. The GPS module may enter hibernation whereit consumes, for example, under 1 mA of power. The IMU may still bepolled at a low rate. If movement exceeds a certain threshold, the unitmay go into sleep mode and the GPS module may wake up to maintain alocation fix. This mode may consume, for example, under 7 mAh.

In embodiments, the firearm 104 further includes sensors 118, acommunication interface, a buffer, and a controller.

The communication interface is configured to pass data between devicesor components coupled thereto, such as the firearm 104 and a connecteddevice (e.g., wearable devices 106, stationary device 108, connectionpoint 116). The communication interface may include a suitable number ofconductors, connectors, transmitters, and/or receivers to achievedesired data throughput and device connectivity. The communicationinterface may communicate with devices and components through wiredand/or wireless telecommunication protocols, such as ethernet,transmission control protocol (TCP), Internet protocol (IP), power linecommunication, Wi-Fi, Bluetooth®, infrared, radio frequency (RF),general packet radio services (GPRS), global system for mobilecommunications (GSM), frequency-division multiple access (FDMA),code-division multiple access (CDMA), evolution-data optimized (EVDO),Z-Wave, ZigBee, 3G, 4G, 5G, another protocol, or a combination thereof.

The buffer is configured to temporarily store data received from, forexample, sensors 1302 prior to transmission via a signal medium orwriting to a storage medium. The buffer may be a suitable physical orvirtual medium. The buffer may operate in a suitable manner, such as byimplementing a first-in, first-out queue where the oldest data is thefirst data read out of the buffer for transmission or storage. Inexamples, the oldest data or subsets of data in the buffer may beoverwritten by the newest data being read into the buffer. Beneficially,the buffer may provide for reduced power consumption based onimplementation by optimizing compute time and transmission payload size.The buffer may be a static allocation of a suitable size or may bedynamically allocated. Beneficially, dynamic allocation allows thefirearm usage monitoring system 2800 to adjust the buffer allocationbased on or in response to triggering events or predeterminedconditions, which thereby improves operation of the firearm usagemonitoring system 2800 by optimizing resource allocation. For example,if long-term storage resources onboard the firearm 102 are approachingcapacity, the size of temporary storage in the buffer may be reduced andthe freed space may be used for long-term storage until connection isreestablished or the long-term-storage data is further processed and/orreduced in size.

The controller is configured to run application software that controlsoperation of connected components. The terms “controller,” “controlmodule,” “control,” “control unit,” “processor” and similar terms meanApplication Specific Integrated Circuit(s) (ASIC), electroniccircuit(s), central processing unit(s) (preferably microprocessor(s))and associated memory and storage (read only, programmable read only,random access, hard drive, etc.) executing one or more software orfirmware programs or routines, combinational logic circuit(s),sequential logic circuit(s), input/output circuit(s) and devices,appropriate signal conditioning and buffer circuitry, other components,combinations thereof, and the like to provide the describedfunctionality. “Software,” “firmware,” “programs,” “instructions,”“routines,” “code,” “algorithms” and similar terms mean controllerexecutable instruction sets including calibrations and look-up tables.In some aspects, the controller includes a central processing unit(CPU).

To appropriately control operation of coupled components, the controllermay include a processor (e.g., a microprocessor) and at least onememory, at least some of which is tangible and non-transitory. Thememory can store controller-executable instruction sets, and theprocessor can execute the controller executable instruction sets storedin the memory. The memory may be recordable medium that participates inproviding computer-readable data or process instructions.

The recordable medium may take many forms, including but not limited tonon-volatile media and volatile media. Non-volatile media for thecontroller may include, for example, optical or magnetic disks and otherpersistent memory. Volatile media may include, for example, dynamicrandom-access memory (DRAM), which may constitute a main memory. Thememory of the controller may also include a solid-state medium, a floppydisk, a flexible disk, hard disk, magnetic tape, another magneticmedium, a CD-ROM, DVD, another optical medium, combinations thereof, andthe like.

The controller-executable instruction sets may be transmitted by one ormore transmission media, including coaxial cables, copper wire ortraces, fiber optics, combinations thereof, and the like. For example,the transmission media may include a system bus that couples two or morecomponents of the firearm monitoring system 3500, such as thecontroller, the communication interface, and the sensors.

The controller can be configured or equipped with other requiredcomputer hardware, such as a high-speed clock, requisiteAnalog-to-Digital (ND) and/or Digital-to-Analog (D/A) circuitry,input/output circuitry and devices (I/O), as well as appropriate signalconditioning and/or buffer circuitry. Any algorithms required by thecontroller or accessible thereby may be stored in the memory andautomatically executed to provide the required functionality for therelevant components, such as the buffer, the communication interface,and the sensors.

In embodiments, the application software is configured to operate thefirearm 104 and/or components thereof in a plurality of states, as wellas being configured to detect conditions related to such operation. Theplurality of states may include, for example, one or more firearm-sleepstates, one or more cloud-constrained states, one or more situationalstates, combinations thereof, and the like.

The one or more sleep states are configured to reduce resource impact ofthe firearm 104. The resource impact may include, for example, powerusage, data storage, and/or data transfer. The sleep states may include,for example, a storage state, a hibernation state, a standby state, ahybrid-standby state, combinations thereof, and the like.

Beneficially, the storage state may provide reduced power consumptionand a reduced resource footprint while the firearm 104 is being stored.For example, operation of components of the firearm usage monitoringsystem 2800 disposed on or attachable to the firearm 104 may beeliminated or significantly reduced while those components are instorage.

In aspects, the controller is configured to power down components of thefirearm 104 such as sensors 1302 and storage media, wake, in response tofulfilment of a predetermined condition, a location sensor of thefirearm 104, and determine a location of the firearm 104. In response todetermining the firearm 104 is still in the storage location, thecontroller is configured to return to the powered-down state. Inresponse to determining the firearm 104 is outside the storage location,the controller is configured to operate the firearm 104 in adata-acquiring state, such as a situational state. Optionally, thefirearm usage monitoring system 2800, in response to determining thefirearm 104 is still in the storage location, may further acquire data,record acquired data to a long-term storage medium onboard, transmitacquired data to a remote device prior to returning to the powered-downstate, receive data from a remote device, combinations thereof, and thelike.

The predetermined condition may be, for example, a predetermined periodof time elapsing, detection of a mechanical event such as a switchactuation, combinations thereof, and the like. In aspects, the period oftime may be a day, a week, a month. In aspects, the interval ofsubsequent periods of time may be increased. For example, the period oftime may be a day until the firearm 104 has remained in the storagestate for a week in the sleep state, then the period of time may beincreased to a wake-up every week until the firearm 104 has remained inthe storage state for a month, and then the period of time may beincreased to a wake-up every month.

In aspects, the storage state optimizes power consumption duringlong-term non-use of the firearm 104 while also providing for inventorytracking and/or management of the firearm 104. Optionally, the storagestate may also provide security features for the firearms 104, such asinhibiting usage of the firearm 104 and preventing firearm 104trafficking.

Beneficially, the hybrid standby state may provide for switching fromthe standby state to the hibernate state without additional resourceoverhead.

In aspects, the controller is configured to power down components of thefirearm 104, and, while entering the sleep mode, write relevant data tonon-volatile memory. The controller may be further configured to monitora condition of the firearm 104, wait a predetermined period of time, andswitch, in response to the predetermined condition not being fulfilledat an end of the predetermined period of time, to a hibernation modewithout writing previously acquired data to non-volatile memory. What ismore, if a timestamp for entering hibernation is desired, the firearmusage monitoring system 2800 does not need to write such a time uponentering the hibernation state. Instead, the firearm usage monitoringsystem 2800 may write the timestamp while or after exiting thehibernation mode because the predetermined period of time is known.Beneficially, this preserves data fidelity while further reducingresources required.

The predetermined condition may be, for example, a movement sensordetecting movement above a predetermined threshold, actuation of acomponent of the firearm 104, geospatial movement of the firearm,combinations thereof, and the like.

Notably, the hybrid standby mode reduces resource requirements becausethe firearm usage monitoring system 2800 does not need to expendresources to write previously acquired data when entering hibernationmode from sleep mode. For example, the firearm 104 may proceed to shutdown relevant components without establishing further networkcommunication or expending power to prepare components of the firearm104 for a data write.

The one or more cloud-constrained states are configured to maintain datafidelity and/or situational awareness while network connections orresources are limited or unavailable. The network conditions orresources may include, for example, communication bandwidth orinterference, communication denial, resource constraint imposed by aquality-of-service goal, combinations thereof, and the like. Thecloud-constrained states may include, for example, a network-constrainedstate, a network-blocked state, a cloud-compute-constrained state,combinations thereof, and the like.

Beneficially, the network-constrained state may optimize data transferfrom the firearm 104 through the network to minimize overall bandwidthrequired when connectivity issues are caused by terrain, physicaldistance from a connection point, interposing structures, combinationsthereof, and the like.

In aspects, the controller is configured to detect network-basedcommunication constraint and switch, in response to detecting thenetwork-based communication constraint, the firearm 104 to anetwork-constrained state including one or more of storing acquired datato non-volatile memory on the firearm, processing acquired data toreduce overall payload for delivery to the remote server, and adjustingcommunication intervals to optimize payload size for communication(e.g., increased packet size or minimized padding). The network-basedcommunication constraint may be detected, for example, through signalloss, packet losses, latency, combinations thereof, and the like.

Increasing memory allocation for storing data acquired by the sensorsmay include, for example, a dynamic allocation or static allocation. Theallocated block sizes may be determined based on sampling intervals ofthe sensors, predicted usage of the firearm 104, detected bandwidth ofthe network connection, combinations thereof, and the like.Beneficially, this preserves data fidelity while maintaining high-speed,low power access (e.g., values do not need to be read from storage intomemory) for rapid transmission when bandwidth is available again. Thisfurther increases the longevity of flash memory on the device.

Storing the acquired data to non-volatile memory may include, forexample, writing acquired data to flash memory. Beneficially, storingthe acquired data to non-volatile memory maintains data fidelity duringnetwork-constrained operation.

Reducing the data to be communicated may include, for example, applyingan algorithm to provide processed situational data in a smaller overallsize. For example, the algorithm may filter acquired data throughsuitable methods such as selecting a desired timestep that is greaterthan the acquisition timestep and preparing for transmission only datathat was acquired at the desired timestep, data of the greatest and/orleast magnitude during the desired time interval, an average value (suchas the mean, median, or mode) for the desired time interval,combinations thereof and the like. Beneficially, reducing the data to becommunicated provides for continued situational awareness whileoptimizing traffic through the network from both the firearm 104 andsimilarly connected firearms 104. Further, connection overhead may bereduced, for example, by reducing both request and response packets and,particularly the number of packets that must be resent.

Adjusting communication intervals may include, for example, increasingthe intervals for communication to an upstream connected device. Thetime interval may be adjusted based on data collection rate of thedevice, encryption protocol, communication protocol, frame size at thebottlenecked communication, combinations thereof, and the like.Beneficially, one or more of these values may be used to determine thecommunication interval which optimizes communication via, for example,increasing payload size and minimizing padding and message overhead(e.g., headers and footers needed to communicate the same amount ofdata) such that fewer packets are being communicated from the firearm104.

Optionally network-constrained state may further include sending amessage to the remote server to communicate the network-constrainedstate. Beneficially, the message promotes situational awareness of usersand commanders because both groups may be made aware of thenetwork-constrained state. When both groups are aware of thenetwork-constrained state, alternative methods of communication (e.g.,via an alternate frequency and/or communication media). Moreover,commanders may coordinate with additional units to support orcommunicate with the network-constrained user or users.

Additionally, or alternatively, the network-constrained state mayfurther include acquiring high-priority situational data andcommunicating the high-priority situational data to the remote server insubstantially real time. The high-priority situational data iscommunicated to the remote server while substantially all data acquiredprior to and after acquisition of the high-priority situational data isacquired, stored, and/or processed in accordance with standard operationof the firearm 104 in the network-constrained state.

The high-priority information may include, for example, a discharge ofthe firearm, actuation of a user-input mechanism (e.g., button, switch,or toggle), detecting a raising and/or aiming of the firearm 104,combinations thereof, and the like.

Beneficially, the network-blocked state may provide situationalawareness for commanders and users, as well as maintaining recordingand/or reporting ability of firearms 104 within the network-blockedlocation.

In aspects, the controller is configured to detect a network-blockedcondition and switch, in response to detecting the network-blockedcondition, the firearm 104 to a network-blocked state including one ormore of storing acquired data to non-volatile memory on the firearm,processing acquired data to reduce the storage footprint, establishingnon-blocked modes of communication to the remote server, and trackinggeospatial location and/or orientation using non-wireless mechanisms.

Network-blocked locations are locations where network communication issubstantially interfered with or denied.

Network communications interference may occur via unintentionalinterruption or disruption of signals for one or more forms of wirelesstransmissions (e.g., wireless communication or GPS signals). Forexample, structures, natural formations and phenomena, or presence ofother communicating devices may incidentally interrupt wirelesscommunication to or from devices at a particular location.

Denial of network communications may occur via deliberate interruptionor disruption of signals for one or more forms of wirelesstransmissions. For example, an actor opposing the user, such as a state,criminal actor, or hostile force, may deny network communication throughactive measures or passive measures.

Active measures include, for example, signal jamming or signalcapturing. Signal jamming may occur, for example, by one or more devicesemitting signals at one or more desired wavelengths to decrease thesignal-to-noise ratio at or near those wavelengths within the area ofeffect. Signal capturing may occur, for example, by one or more devicesconfigured to intercept signals emitted from a device (e.g., astingray). The intercepted signals may be re-emitted by the device orsunk.

Passive measures include, for example, selection of materials orlocations that impede wireless signals. Passive-denial materials mayinclude, for example, a metallic or metallized material that inhibitspropagation of signals therethrough (e.g., a Faraday cage).Passive-denial locations may include, for example, undergroundfacilities.

Detecting network-blocking may include, for example, the firearm 104,stationary devices, wearable devices, the remote server, combinationsthereof, and the like. In aspects, these devices may include aradio-communication system configured to receive and process wirelesssignals to determine network communications interference or denial. Forexample, a radio-communication system may be configured to receive andprocess signals to determine the presence of a jammer using suitablealgorithms. In aspects, the radio-communication system includes asoftware-defined radio operatively coupled to at least one antenna and acontroller. The antennas are configured to receive predeterminedfrequencies of wireless signals.

Additionally, or alternatively, the radio-communication system may beconfigured to receive and process signals to determine denial of networkcommunications using suitable algorithms. For example, the firearm usagemonitoring system 2800 may monitor communications signals between thefirearm 104 and remote server, calculate a signal power level profilewith respect to movement of the firearm 104, and determine, in responseto the power level profile either fulfilling a predetermined model ornot fulfilling predetermined models, that the firearm 104 is in anetwork-blocked location. In some aspects, the predetermined models maybe suitable attenuation models such as a log-distance path loss model orthe Hata model.

Establishing non-blocked modes of communication to the remote server mayinclude, for example, sweeping wireless frequencies to establishcommunication via a non-blocked wavelength, establishing optical orwired communication with proximate devices to backhaul data, forming anad-hoc network between firearms 104 and/or connected devices,combinations thereof, and the like.

In embodiments, the wireless-communications-blocked device or devices,such as firearms 104 or devices, may traverse communications frequenciesvia, for example, hopping across or sweeping through predeterminedcommunications frequencies to establish communications over anon-blocked frequency. For example, the wireless-communications-blockeddevice may ascend frequencies, descend frequencies, alternatingly ascendand descend frequencies, proceed through frequencies in a known order,combinations thereof, and the like, such that the probability ofestablishing communications via a non-blocked channel is above apredetermined threshold. In embodiments, the probability of establishinga communication connection is above 75%, more preferably above 90%, yetmore preferably above 99%.

The predetermined ranges may be, for example, one or more suitablefrequency domains for communicating the desired information. Inembodiments, the frequency domains include wireless-standard domainssuch as Wi-Fi bands, Bluetooth bands, Cellular bands, etc.

In embodiments, the wireless-communications-blocked device traversesfrequencies, analyzes whether the communications signal is indicative ofa jamming signal, and removes, in response to detection of the jammingsignal, the frequency from the frequencies being traversed.

In embodiments, the wireless-communications-blocked device is configuredto transmit data on low-bandwidth frequencies and/or short-rangefrequencies. Beneficially, the data transmitted on the low-bandwidthfrequencies may communicate a shared frequency within the desiredwireless-communications band having sufficient bandwidth to communicatethe situational data.

In embodiments, the wireless-communications-blocked device beginstraversing frequencies in response to a predetermined user input. Forexample, two users with non-blocked communications (e.g., visual,audial, or radio communications) may synchronize actuation andinitiation of the algorithms for frequency traversal.

In embodiments, the wireless-communications-blocked device, isconfigured to establish an ad-hoc network such that device-to-devicesignal communication is above a predetermined signal-to-noise ratio. Thead-hoc network may be, without limitation, a mesh network or serialnetwork. For example, a mesh network of wireless-communications-blockeddevices may be formed and movement of users of those devices may beconfined such that the distance between adjacent nodes is maintainedbelow the desired threshold to maintain a signal-to-noise ratio abovethe desired amount.

Additionally, or alternatively, a serial network ofwireless-communications-blocked devices may be formed (e.g., a “daisychain”) and movement of users of those devices may be directed such thatthe distance between adjacent nodes maintains a signal-to-noise ratioabove the desired amount while extending range of the users into thenetwork-blocked location. For example, a seven-member unit may establisha daisy-chain network where each user is connected to the adjacent user(e.g., user 1 is connected to user 2, user 2 is connected to users 1 and3, user 3 is connected to user 2 and 4, user 7 is connected to user 6and the external network, etc.). When the unit begins clearing thenetwork-blocked location, the unit may enter until the signal-to-noiseratio of the connection between user 7 and connection to the externalnetwork (e.g., connection point) approaches or reaches a predeterminedfloor. At that point, user 7 may remain generally stationary while theremaining unit members continue clearing the network-blocked locationuntil the signal-to-noise ratio of the connection between user 6 anduser 7 approaches or reaches a second predetermined floor. This processmay continue until the signal-to-noise ratio of the connection betweenuser 1 and user 2 approaches or reaches a final predetermined ratio. Inembodiments, the predetermined floors for signal-to-noise ratios mayprogressively decrease such that the available bandwidth is able toaccommodate backhaul for data from all downstream devices. Beneficially,the serial network of wireless-communications-blocked devices maximizespenetration of the unit into the network blocked location whilemaintaining interconnectivity of devices within the unit, as well asoptionally maintaining connection of the devices to the externalnetwork. Additionally, processing overhead is reduced and battery lifeincreased by establishing the serial network described above because thenodes within the network do not need to allocate compute time or powertoward detecting and establishing newer, stronger connections.

Tracking geospatial location and/or orientation using non-wirelessmechanisms may include, for example, use of an IMU, electronicgyroscope, electronic accelerometer, optical tracking, combinationsthereof, and the like. Beneficially, the firearm 104 may continue totrack position of the user through alternate mechanisms that avoidreliance on signals from sources external to the network-blockedlocation, and may report this positioning to external devices throughthe network. In embodiments, the controller of the network-blockeddevice may adjust polling of the non-wireless mechanisms to providetracking at suitable granularity. For example, the granularity mayincrease or decrease based on the presence or strength of the externalsignal source. In embodiments, the non-wireless movement sensors arepolled at a first rate and, in response to the strength of the externalsignal source being at or below a predetermined threshold, are polled ata second rate that is higher than the first rate. The second rate isselected such that movements of the network-blocked device can berecorded and analyzed to determine a geospatial position of the user.

In embodiments, the polling rate is dynamically adjusted based, withoutlimitation, on immediately prior movements of the user or thenetwork-blocked device. For example, to maintain a desired level ofgranularity, the polling rate of a running user will have to be greaterthan the polling rate of a walking user. For example, if a measurementtaken by the IMU is above a predetermined threshold, the controller mayincrease the polling rate of the sensor to thereby accurately capturethe movement of the user.

In embodiments, the firearm usage monitoring system 2800 is configuredto alert users of the firearms 104 or commanders of the users that thefirearm 104 is entering or within a network-blocked location.Beneficially, such alerting improves situational awareness of the usersand/or commanders and may, in embodiments, provide for neutralization ofthe signal-interference source or rerouting of users around the affectedlocation. For example, alerting a user of the presence of a networkblocked location provides for the user to repeatedly move locations andtest for network blocking such that a perimeter for the network-blockedlocation may be determined.

Beneficially, the firearm usage monitoring system 2800 may determine thepresence of a network-blocked location without orchestrating or alteringmovement of users. For example, the network-blocked location may bedetermined by the firearm usage monitoring system 2800 in response tolosing connection with two or more devices (e.g., firearms 104 orwearable devices). In embodiments, the firearm usage monitoring system2800 is configured to determine a network blocked location includingdetecting a loss of network communication from two or more deviceswithin the same geolocation and determining, in response to the loss ofnetwork communication from the two or more devices, a perimeter of thenetwork-blocked location, and, optionally, updating, in response toadditional devices losing network communication and/or any of the two ormore devices regaining network communication, the perimeter of thenetwork-blocked location.

In embodiments, the perimeter is determined through signal-strengthanalysis. For example, the signal strength for communications from thetwo or more devices immediately preceding the loss of networkcommunication may be determined and compared to models to determineinterference sources. The signal strength may be determined via, forexample, packet loss or other indicia of connectivity for the two ormore devices.

In response to the signal strength diminishing in a pattern matching afirst model, the firearm usage monitoring system 2800 determines thatthe interference is incidental and may geofence corresponding areas asnetwork-blocked locations. For example, the firearm usage monitoringsystem 2800 may correlate the incidental interference to stored datasuch as schematics, maps, images, or video of structures, bystanderdensity, terrain, combinations thereof, and the like to determineperimeters of the network-blocked locations. In response to the signalstrength diminishing in a pattern matching a second model, the firearmusage monitoring system 2800 determines that the interference is frompassive-denial mechanisms and geofences corresponding areas asnetwork-blocked locations. For example, the firearm usage monitoringsystem 2800 may correlate the active interference to stored data, asdescribed above, to determine perimeters of the network-blockedlocations. For example, the firearm usage monitoring system 2800 maydetect a rapid diminishment of signal from a user on opposite sides of aknown structural element (e.g., entering a building) and determine thatthe building is considered a network-blocked location.

In response to the signal strength diminishing in a pattern matching athird model and/or a fourth model, the firearm usage monitoring system2800 determines that the interference is from active-denial mechanisms,geofences corresponding areas as network-blocked locations, and,optionally, determining the location of the active-denial mechanisms.For example, the firearm usage monitoring system 2800 may use a thirdmodel to detect a falloff generally following the inverse square lawfrom a shared point (e.g., the signal strength of the two or moredevices being generally equal at a given radius) and determine thelocation of the active-denial mechanism at the convergence point fromthe two or more network-blocked devices. Additionally, or alternatively,the firearm usage monitoring system 2800 may use a fourth model todetect simultaneous signal dropping from geospatially proximate users,eliminate false-positive detection from, for example, loss of a networknode, and determine an area of the active-denial mechanism.Beneficially, this area may be reduced to a location by directingactions of non-blocked users to test the perimeter of thenetwork-blocked location.

The cloud-compute-constrained state is configured to inhibit loss offidelity in situational awareness for commanders and/or users of thefirearm usage monitoring system 2800. In embodiments, the firearm usagemonitoring system 2800, when operating in the cloud-compute-constrainedstate, is configured to push data processing for lower-priority datatoward the edge of the network so that server resources are allocated,dedicated, or otherwise available to process the highest-priority data.For example, if the firearm usage monitoring system 2800 is connected tofirearms 104 within a unit engaged in a firefight and to firearms 104within a unit patrolling a secured area, the firearm usage monitoringsystem 2800 may dedicate server-compute resources to processing datacollected by the engaged unit while edge-compute resources (e.g.,firearms 104, wearable devices, stationary devices, and connectionpoint) process data collected by devices of the patrol unit.Beneficially, the firearm usage monitoring system 2800 may also reducenetwork traffic by pushing data processing of lower-priority data to thedevices collecting the data such that transmission of thehigher-priority data is uninhibited by interfering signals or trafficcongestion.

In embodiments, the controller is configured to detect aspects, thecloud-compute-constrained state and switch, in response to detecting thecloud-compute-constrained state, the firearm 104 to acloud-compute-constrained state including one or more of storingacquired data to non-volatile memory on the firearm, processing acquireddata to reduce overall payload for delivery to the remote server, andadjusting communication intervals to optimize packet size for processing(e.g., sending larger packets to reduce processing overhead) similar tothose processes discussed above. Additionally, or alternatively, thecloud-compute-constrained state may include one or more of storingacquired data to non-volatile memory on peer devices and processing, viapeer devices, data acquired by the firearm 104.

The situational states are configured to provide prioritizationinformation for data collected by the firearms 104. Additionally, oralternatively, the situational states may provide tags to data formachine learning applications to optimize model training. Thesituational states may include, for example, a training state, adeployed state, and an engaged state. The situational states may bedetermined via, for example, user actuation with the firearm usagemonitoring system 2800, detection of the firearm 104 within a geofencedarea, receiving signals from one or more beacons or wireless devices,duty schedule, receipt of messages from a remote server, activation ofconnected devices (e.g., a siren or body camera), an inertialmeasurement exceeding a predetermined threshold (e.g., force requiredduring unholstering), prolonged sub-threshold actuation (e.g., holsteredfirearm while user is running), actuation of grip sensors combinationsthereof, and the like.

The controller may operate the firearms 104 in the training state whenusers are engaged in a training exercise. For example, locations such asfiring ranges and training fields may be outfitted with beacons suchthat firearms 104 entering the signal range of the beacons operate inthe training mode and data collected by the firearms 104 may be labeledas training-mode data. In embodiments, the firearms 104 connect to asecondary server when operating in the training mode to transmit, store,and/or process collected data. The secondary server may include, forexample, an on-site device such as a local server or deployable device.Beneficially, the training state may provide optimized network trafficand/or reduced cost operation by pushing data storage and processingtoward the network edge and/or connecting to a secondary server that isseparate from the remote server used, for example, during operation inthe engaged state. Data collected while operating in the training statemay be accessed later via an API or other data communication interface.

The controller may operate the firearms 104 in a deployed state whenusers are deployed to locations where the firearms 104 may be used butare not currently engaged. For example, a firearm 104 may operate in thedeployed state when a user is on-duty and outside of a trusted location(e.g., an on-duty officer outside of the station or patrol vehicle).Beneficially, the deployed state may provide optimized resourceallocation of the remote server by allowing for higher latency intransfer and processing of data collected by a firearm 104 in thedeployed state.

The controller may operate the firearm 104 in an engaged state when thefirearm 104 has been fired or when a firing event is likely. Forexample, the firearm 104 may operate in the engaged state in response todetecting an unholstering event, detecting an aiming action of thefirearm 104, engagement of peers that are proximate to the firearm 104,detection of shots fired by another firearm, receipt of a message sentby the remote server, combinations thereof, and the like. Inembodiments, the controller operates in an engaged state only when thedetected event occurs outside of a trusted location (e.g., unholsteringwithin a police station will not trigger the engaged state unlessaccompanied by manual actuation of the engaged state or a firing event).Beneficially, the engaged state provides for collection and transfer ofhigh-fidelity situational data.

While the discussion of detection of conditions, detection ofconditions, operation states, and corresponding mitigation or operationhave been discussed with reference to the firearm 104, it should berecognized that such discussion may be applied to other components ofthe firearm usage monitoring system 2800, such as connection points,wearable devices, stationary devices, etc.

In embodiments, the firearm usage monitoring system 2800 providesprocessed data to third-party software, such as a geospatialinfrastructure and military situational awareness app, for display. Forexample, the firearm usage monitoring system 2800 may provide firingdata, target locations, engagements, aiming cones, firing cones, etc. tothird-party software, such as Android Tactical Assault Kit (ATAK),Android Team Awareness Kit (ATAK), Digitally Aided Close Air Support(DACAS), Safe Strike, and other situational awareness software orapplications for military, law enforcement, and first responders.

The firearm usage monitoring system 2800 may display to firearm users orcommanders projected, collected, and/or analyzed information related to,without limitation, threats, team members, friendly units, bystanders ornon-threatening persons, images or videos captured by users, subordinateor commanding units, objective, VIP or person of interest, exit routes,vigilance or potential threat level, combinations thereof, and the like.Threat information includes, without limitation, threat location, threatmovement, threat field of view, threat firing cones, threat-controlledareas, and threat-viewable areas. Team member information includes,without limitation, team member position, team member movement, teammember field of view, team member firing cones, team member aimingcones, team member ammunition status, team member mobility status, andteam member support needs. Friendly unit information includes, withoutlimitation, friendly-unit positions, friendly-unit movement,friendly-unit firing cones, friendly-unit aiming cones, friendly-unitsupport needs, and friendly-unit status. Information related tobystanders or non-threatening persons includes, without limitation,position, number, and/or danger to the bystanders. Images or videoscaptured by users includes, without limitation, images or video capturedby the firearm 104, devices coupled thereto, connected devices, orsupport devices. Subordinate or commanding unit information includes,without limitation, position, grouping, number, ammunition, status, andsupport needs. Information related to objectives includes, withoutlimitation, location, routing information, time to completion orinitiation of action, and information regarding related objectives evenif a user or commander is not responsible for the objective. Informationrelated to VIP or person of interest includes, without limitation,position, exposure, movement, routing, status, and coverage. Exit routeinformation includes, without limitation, pathing, exposure, coverage,and alternate routes. Vigilance or potential threat level informationincludes, without limitation, status based on substantially real-timeinformation such as proximity to engaged units, knowledge of threats,and actions of team members or friendly units (e.g., unholstering oraiming).

The firearm usage monitoring system 2800 may communicate the informationthrough a flat display or a tiered display. The information may bedisplayed automatically as an alert, automatically as a view-change, asa prompt that awaits user interaction, and in response to receipt ofuser input.

For example, the firearm usage monitoring system 2800 may display to acommander an initial view displaying a plurality of users grouped byunits and, in response to detecting a triggering event, initiate a viewchange that communicates information related to the triggering event,initiate an alert that provides information related to the triggeringevent, or initiate a prompt that awaits input from the commander toinitiate the view change.

The view changes may include, without limitation, changing the displayedlocation or changing the displayed tier. In embodiments, the view changeincludes zooming in on the position of the device detecting thetriggering event. In embodiments, the view change includes changing thedisplayed indicia related to the device detecting the triggering event.More particularly, the displayed indicia may include an animated,alternating transition between the initial indicia and the alertindicia. The animation may continue for a predetermined period of timeor await interaction with the display. In embodiments, the view changeincludes transitioning from displaying the units in a group todisplaying the units as ungrouped in response to the triggering eventoccurring to a user within the group.

Events that trigger communicating the information through an alert, viewchange, or prompt include, for example, detection of grip events,unholstering, movement of user with firearm 104 such as repositioning(e.g., walking or intermittent running) or pursuit (e.g., prolongedrunning), aiming, firing, seeking cover (e.g., detection of crouching orrotational movement of user as measured by the IMU), low ammunition,weapon malfunction, or communication loss. In embodiments, thetriggering events require the detected event to be repeated by two ormore users within a group (such as an operational unit). In embodiments,the triggering events require the detected event to be repeated inproximity to another event. The proximity may be, for example,geographical proximity, temporal proximity, within display grouping(e.g., the current display shows multiple users as a single icon orindicia), within same peer group, or within same unit (e.g., by a memberof the unit and subordinates or commanders). For example, detection of agrip event by two users within 20 feet of each other triggers the actionwhereas detection of a grip event by two users that are outside 300 feetaway from each other does not trigger the action. Beneficially, suchmembers optimize situational awareness by inhibiting false-positivedisplay changes.

Grip events may be determined through suitable algorithms and mechanismssuch as grip detection, holster status, movement of unholstered weapon,and aiming of the firearm 104. For example, grip detection may includeuse of an inertial measurement unit, capacitive member, electric fieldsensor, inductive sensor, shadow detection, infrared detection,conductivity sensors, resistive sensors, and other suitabletechnologies. In embodiments, a hand of the user will incidentallyinteract with the grip-detecting mechanism when the firearm 104 isgrasped. For example, a sensor coupled to the trigger guard may detectcontact of the user with the trigger guard (e.g., an aimed position) anda conductivity sensor coupled to the trigger to detect contact betweenthe user with the trigger (e.g., a firing position).

Holster status may be determined by, for example, use of hall effectsensors, eddy current sensors, near-field sensors, magneto-resistivesensors, inertial measurement unit, capacitive member, electric fieldsensor, inductive sensor, shadow detection, infrared detection,conductivity sensors, resistive sensors, and other suitabletechnologies. For example, the firearm 104 may include an eddy currentsensor that is actuated in response to a grip event, is disposedproximate a conductive material of the holster when the firearm 104 isproperly seated within the holster and reacts to relative movementbetween the eddy current sensor and the conductive material.

Movement with the weapon out may be detected, for example, by usesuitable mechanisms and algorithms such as those employing an inertialmeasurement unit or optical measurements. In embodiments, the firearmusage monitoring system 2800 is configured to detect a pattern ofmovement from the IMU indicative of user movement. For example, the userslowly moving with a pistol in-hand will have a periodic oscillation ina dimension following the barrel of the weapon, the user running withthe pistol in-hand will have a more rapid oscillation that is pendulousin the frame of reference and generally orthogonal to the barrel, andthe user moving with a rifle in hand will have an oscillation that is atan oblique angle to the barrel. Additionally, or alternatively, opticalmethods such as tracking objects captured between successive images maybe used to track movement or, if subsequent images return out of focus,the firearm usage monitoring system 2800 may determine that the firearm104 is moving at a rapid pace.

A firearm malfunction or ammunition state may be determined, withoutlimitation through suitable devices and algorithms that coordinate withdata collected by sensors from other devices. In embodiments, conditionsindicative of a malfunction event include, without limitation, use of asidearm by the user while having sufficient ammunition for the primaryweapon, a sustained absence of fire while proximate users continue tofire, and/or detecting an abnormal firing pattern. The abnormal firingpattern may be detected, for example, through comparison to knownpatterns for similar firearms or to previously acquired firing patternsfrom the firearm.

In embodiments, connection points 1200 and 1202 provide data storage.Connection points 1200 and 1202 gather data when a connected device isgripped through minutes after the device is disengaged. If connectionpoints 1200 and 1202 cannot transmit to server device 112 or to an edgedevice on the network (e.g., not available, out of range), it may store(e.g., for up to 30 days) in onboard memory (e.g., through high datarate memory). Once available, the system may restart the transmissionprocess, so that the data is sent over.

In embodiments, system 100 provides power management capabilities. If adevice connected within range of connection point 1200 and/or connectionpoint 1202 is in motion but not in use, a low power mode (e.g., withoccasional pinging) may be implemented to maintain general awareness ofthe location of the user. The device transmits a location every onesecond. If not used for a period of time, (e.g., for a half hour) thedevice may send one message at a defined interval, such as every second,every minute, every one-half hour, every hour, or at other intervals.

Beneficially devices of the firearm usage monitoring system can beconfigured to harvest energy from electromagnetic frequenciestransmitted by other devices. For example, the firearm 104 may include awireless-energy harvesting mechanism including a suitable circuit forharvesting the electromagnetic radiation. In embodiments, thewireless-energy harvesting mechanism includes a receiving antenna thatis configured to receive the electromagnetic radiation, a rectifier thatis configured to convert the received alternating current to directcurrent, and a DC-DC converter that is configured to alter voltage ofthe rectified current to a desired voltage. The antenna may be sharedwith the communications interface of the firearm 104.

In embodiments, the data collection rate is adjusted based on the amountof energy being harvested. Beneficially, such adjustment can provideimproved wayfinding in network-denied environments without sacrificingbattery life. For example, the increased energy output from a jammer maybe harvested to provide improved battery life in network-deniedenvironments and compensate for extra energy used in increasing datacollection rates to compensate for extra energy expended incounteracting the network denial.

Referring to FIG. 13, connection point 116 is shown as including networkinterface 1300, sensors 1302, signal prioritization module 1304, andsignal compression module 1306. Network interface 1300 includes hardwareand/or software for establishing connections, or otherwise for allowingconnections to be established, between connection point 116 and deviceswithin a physical range of connection point 116 and between connectionpoint 116 and server 112 and/or one or more other computing devices usedto implement the functionality of system 100. Network interface enablesconnection point 116 to connect to one or more of a network of computers(e.g., a LAN, a WAN, a VPN, a P2P network, or an intranet), a network ofnetworks (e.g., the Internet), or another network (e.g., a cellularnetwork). For example, network interface 1300 can enable communicationsover Ethernet, TCP, IP, power line communication, Wi-Fi, Bluetooth®,infrared, RF, GPRS, GSM, FDMA, CDMA, EVDO, Z-Wave, ZigBee, 3G, 4G, 5G,another protocol, or a combination thereof.

Sensors 1302 include one or more sensors used to record measurementsrelating to the use of connection point 116. Sensors 1302 may, forexample, include one or more of a geolocation sensor (e.g., forconnecting to GPS and/or other global navigation satellite systems), animage sensor, a vibration sensor, an audio sensor, an IMU, or the like.In embodiments, sensors 1302 are used to sense information about theenvironment to which connection point 116 is deployed. For example,sensors 1302 can be used to capture image, video, or audio from thatenvironment. In another example, sensors 1302 can be used to detectvibrations within that environment (e.g., caused by natural or man-madeevents). In embodiments, information collected using sensors 1302 can beused to enhance, supplement, clarify, or otherwise process signalsreceived from devices connected to connection point 116. For example,where such a signal does not include geolocation information indicatingwhere the device form which the signal originates is located, connectionpoint 116 can add such geolocation information to the signal beforetransmitting the signal to server 112. In another example, connectionpoint 116 can add timestamp information to such a signal beforetransmitting it to server 112.

Signal prioritization module 1304 prioritizes channels of communicationbetween connection point 116 and devices within a connection range ofconnection point 116. Bandwidth may be limited in the deploymentlocation, for example, due to a distance between connection point 116and a nearest network signal provider, capabilities of the connectionpoint 116 itself, and/or another constraint. However, there may at timesbe a relatively large number of devices which attempt to connect toconnection point 116. For example, where each user within the deploymentlocation has a personal computing device and at least one firearm, theremay be too many devices attempting to connect to connection point 116compared to the availability of network bandwidth made available byconnection point 116. In such an event, signal prioritization module1304 can be used to prioritize connections for certain devices. Forexample, connections may be prioritized based on a time since a lastestablished connection between a device and connection point 116, a typeof the device, a type of signal or information thereof beingcommunicated from the device, a distance between the device andconnection point 116, information associated with a user of the device(e.g., based on user rank, skill, or the like), an amount of bandwidthrequired for the connection with the device, other criteria, or acombination thereof. In embodiments, connection point 116 may beconfigured to limit the total number of devices which may connect to itat a given time.

Signal compression module 1306 compresses signals received from devicesconnected to the connection point 116, for example, to prepare thesignals for transmission to server 112. Signal compression module 1306compresses the signals to reduce a bit rate at which the signals aretransmitted over a network. In embodiments, signal compression module1306 may use lossless compression technique to compress a signal. Inembodiments, signal compression module 1306 may use lossy compressiontechnique to compress a signal. In embodiments, signal compressionmodule 1306 may use lossless/lossy hybrid compression to compress asignal, such as where a portion of a signal is processed using losslesscompression and another portion of the same signal is processed usinglossy compression. The type of compression used may be based on theinformation included in a signal. For example, information whichrequires high fidelity when reconstructed for viewing may be compressedusing lossless compression, while other information may be compressedusing lossy compression. In embodiments, connection point 116 may beconfigured to identify types of information which require high fidelityand compress those types of information using lossless compression. Inembodiments, connection point 116 may be configured to decompressedcompressed data received from server 112 or otherwise from a computingdevice located outside of the deployment location.

To further describe some embodiments in greater detail, reference isnext made to examples of techniques which may be performed by or inconnection with a firearm monitoring and remote support system, forexample, system 100. The techniques include technique 1400 of FIG. 14,technique 1500 of FIG. 15, and technique 1600 of FIG. 16. Technique1400, technique 1500, and/or technique 1600 can be executed usingcomputing devices, such as the systems, hardware, and software describedwith respect to FIGS. 1-13. Technique 1400, technique 1500, and/ortechnique 1600 can be performed, for example, by executing amachine-readable program or other computer-executable instructions, suchas routines, instructions, programs, or other code. The steps, oroperations, of technique 1400, technique 1500, and/or technique 1600, oranother technique, method, process, or algorithm described in connectionwith the embodiments disclosed herein, can be implemented directly inhardware, firmware, software executed by hardware, circuitry, or acombination thereof. For simplicity of explanation, technique 1400,technique 1500, and/or technique 1600 are each depicted and describedherein as a series of steps or operations. However, the steps oroperations in accordance with this disclosure can occur in variousorders and/or concurrently. Additionally, other steps or operations notpresented and described herein may be used. Furthermore, not allillustrated steps or operations may be required to implement a techniquein accordance with the disclosed subject matter.

Referring to FIG. 14, at 1402, a signal including sensor information isproduced. The sensor information is produced using one or more sensorsof a device within a deployment location. For example, the sensorinformation may be produced using one or more of a geolocation sensor,an image sensor, an IMU, or another sensor configured to recordmeasurements associated with a firearm, wearable device, stationarydevice, robot, or another device. The signal may be produced using aprocessor of the device. For example, an ASIC, FPGA, or other units mayreceive the sensor information from the sensors used to record it andproduce the signal using that sensor information.

At 1404, the signal is transmitted to a server device outside of thedeployment location. The server device runs application software forproviding remote support to users of devices (e.g., firearms) within thedeployment location. In embodiments, the device at which the signal isproduced may directly transmit the signal to the server device. Inembodiments, a connection point intermediate to the device at which thesignal is produced and to the server device may be used to communicatethe signal from the device to the server device.

At 1406, the application software uses the sensor information includedin the signal to detect a threat within the deployment location. Thethreat can be or include one or more hostile combatants or other sourcesof potential injury to person or damage to property of the users ofsystem 100. In embodiments, detecting the threat using the restoredsensor information can include processing the restored sensorinformation to detect a change in an orientation of the device at whichthe signal is produced. For example, where the device is a firearm, therestored sensor information can indicate that an orientation of thefirearm has changed from one of a gripping orientation or a drawingorientation to one of a pointing orientation or a firing orientation. Inembodiments, detecting the threat using the restored sensor informationcan include processing the restored sensor information to detect adischarge of a firearm. For example, the discharge may be detected usingone or more sensors of the firearm, a wearable device worn by a user ofthe firearm at the time of the discharge, or another device.

In embodiments, detecting the threat can include processing restoredsensor information from multiple devices. For example, sensorinformation received from two firearms can be used to detect the threat.The sensor information can be processed to determine a change inorientation of at least one of the two firearms. Cones of fire for eachof the firearms can then be updated based on the sensor information.Responsive to a determination that the cones of fire of those firearmscoalesce as a result of such updating, the coalescence can be used todetect the threat. In embodiments, the threat may be detected based onthe coalescence of the cones of fire alone or based on additionalinformation which is used to clarify the reason for the coalescence ofthe cones of fire. For example, imaging data captured using a camera orother asset within the deployment location can be used to verify whethera location at which the coalesced cones of fire are pointing includes athreat. In another example, sensor information indicating a firing ofone or both firearms associated with the coalesced cones of fire can beused to detect the threat. In yet another example, one or more users ofthe firearms associated with the coalesced firearms can indicate thepresence of a threat.

At 1408, an action to perform in response to the detected threat isdetermined. The application software can automatically determine anappropriate action to take based on the nature of the detected threatand/or based on information collected from one or more devices withinthe deployment location. In embodiments, the action to perform can bedetermined based on a severity of the detected threat. For example, ahighly severe threat may call for the deployment of a large number ofreinforcements to the deployment location, whereas a moderately orminimally severe threat may call for the deployment of fewerreinforcements to the deployment location.

At 1410, the application software causes a deployment of responseinfrastructure to perform the action. In embodiments, the applicationsoftware can cause the deployment of the response infrastructure bytransmitting a command, processed at a device local to the responseinfrastructure, to initialize the use and/or operation of the responseinfrastructure. In embodiments, the application software can cause thedeployment of the response infrastructure by indicating a recommendationfor the response infrastructure within a GUI of the applicationsoftware. For example, a remote user of the application software caninteract with the application software to approve or modify therecommendation.

Referring to FIG. 15, at 1502, first sensor information is received. Thefirst sensor information may be received from one or more devices withina deployment location. For example, the first sensor information may bereceived from one or more firearms, wearable devices, stationarydevices, robots, or other assets. The first sensor information includesmeasurements recorded using one or more sensors of the devices. Forexample, the first sensor information may include measurements recordedusing one or more of geolocation sensors, image sensors, or IMUs. Thefirst sensor information is received within one or more signalstransmitted to a server device. For example, the one or more signals maybe transmitted from a connection point intermediate to the devices andthe server device.

At 1504, a GUI is generated based on the first sensor information. TheGUI includes a visual representation of cones of fire for each firearmassociated with the first sensor information. The cones of firerepresent positions and orientations of the firearms determined based onthe first sensor information. Each firearm may have a cone of firerepresented within the GUI. The size of the cone of fire represented inthe GUI may be based on or both of a skill of a user of the firearm or atype of the firearm. For example, a user having a higher skill level mayhave a narrower cone of fire to denote a greater expectation of accurateshooting by the user.

At 1506, after the GUI is generated, second sensor information isreceived. The second sensor information indicates a change in one orboth of the position or orientation of at least one of the firearmswithin the deployment location. For example, the second sensorinformation can indicate that the orientation of one or more firearmshas changed from a gripping orientation or a drawing orientation to apointing orientation or a firing orientation, so as to denote that thefirearm has been readied for use, such as to address a threat within thedeployment location. In some cases, the orientations of multiplefirearms may be so changed as indicated by the second sensorinformation.

At 1508, the GUI is automatically updated based on the second sensorinformation. The updating may include changing a position and/ororientation of one or more cones of fire as visually represented withinthe GUI based on the second sensor information. For example, changes inthe orientation and/or position of the firearms as indicated in thesecond sensor information can be used to update the positions andorientations represented by the cones of fire for those respectivefirearms. In this way, the visual representations of those cones of firewithin the GUI is changed.

At 1510, a determination is made that two or more cones of fire visuallyrepresented in the GUI have coalesced based on the updating from thesecond sensor information. A coalescence of cones of fire refers to asituation in which the cones of fire for two or more firearms are atleast partially overlapping. Coalescence of cones of fire occurs whenusers of associated firearms have readied those firearms for firing andare pointing those firearms at a common location within the deploymentlocation.

At 1512, a threat is detected based on the coalescence of the cones offire. The threat can be or include one or more hostile combatants orother sources of potential injury to person or damage to property of theusers of system 100. A threat may be detected based on the coalescenceof the cones of fire alone or based on additional information which isused to clarify the reason for the coalescence of the cones of fire. Forexample, imaging data captured using a camera or other asset within thedeployment location can be used to verify whether a location at whichthe coalesced cones of fire are pointing includes a threat. In anotherexample, sensor information indicating a firing of one or both firearmsassociated with the coalesced cones of fire can be used to detect thethreat. In yet another example, one or more users of the firearmsassociated with the coalesced firearms can indicate the presence of athreat. In yet another example, application software which generates andupdates the GUI can detect the threat based on the number of coalescedcones of fire, the duration of time over which the cones of fire remaincoalesced, the skill levels of the users of the firearms associated withthe coalesced cones of fire, other information which may be representedwithin the GUI, or a combination thereof.

At 1514, the GUI is automatically updated to visually represent thedetected threat. The threat may be represented using an icon which isvisually distinct from icons used to represent the firearms or usersthereof within the GUI. Visually representing the detected threat withinthe GUI may include adding an icon within a location of the cone of firecoalescence.

Referring to FIG. 16, at 1602, a signal including sensor information isproduced. The sensor information is produced using one or more sensorsof a device within a deployment location. For example, the sensorinformation may be produced using one or more of a geolocation sensor,an image sensor, an IMU, or another sensor configured to recordmeasurements associated with a firearm, wearable device, stationarydevice, robot, or another device. The signal may be produced using aprocessor of the device. For example, an ASIC, FPGA, or other units mayreceive the sensor information from the sensors used to record it andproduce the signal using that sensor information.

At 1604, the signal is transmitted to a connection point located withinthe deployment location. The connection point may be a device configuredto communicate signals from devices within the deployment location to aremote server which processes the signals to provide monitoring andother remote support to users of the devices. In embodiments, the signalmay be transmitted directly between the device and the connection point.Alternatively, in embodiments, a mobile tracking device associated witha user of the device at which the signal is produced may be used as anintermediary to communicate the signal between the device and theconnection point.

At 1606, the connection point compresses the signal received from thedevice. In embodiments, in which the connection point receives multiplesignals from the device, or in embodiments, in which the connectionpoint receives one or more signals from multiple devices, the connectionpoint can compress those signals into a single compressed signal.Alternatively, in such embodiments, the connection point can compressthose signals into separate compressed signals. For example, where theconnection point is configured for batch processing, the connectionpoint may organize signals received (e.g., within a time interval) intoone or more batches and compress each batch individually. In anotherexample, the connection point can batch signals based on the types ofdevices from which they are received. The compression of one or moresignals may be performed using a lossy compression technique.Alternatively, the compression of one or more signals may be performedusing a lossless compression technique. As a further alternative, thecompression of one or more signals may be performed using a hybridlossy/lossless compression technique.

At 1608, the compressed signal is transmitted from the connection pointto a server device. The server device is a remote server located outsideof the deployment location within which the connection point and thedevice used to produce the signal are located.

At 1610, application software running on the server device is used todecompress the compressed signal to restore the sensor information. Inembodiments, the application software determines how to decompress thecompressed signal based on information (e.g., compressed syntaxelements) recorded within the compressed signal. For example, one ormore bits can be encoded to a header file within the compressed signalto indicate, to the decompression functionality of the applicationsoftware, how to decompress the compressed signal.

At 1612, the application software uses the restored sensor informationto detect a threat within the deployment location. The threat can be orinclude one or more hostile combatants or other sources of potentialinjury to person or damage to property of the users of system 100. Inembodiments, detecting the threat using the restored sensor informationcan include processing the restored sensor information to detect achange in an orientation of the device at which the signal is produced.For example, where the device is a firearm, the restored sensorinformation can indicate that an orientation of the firearm has changedfrom one of a gripping orientation or a drawing orientation to one of apointing orientation or a firing orientation. In embodiments, detectingthe threat using the restored sensor information can include processingthe restored sensor information to detect a discharge of a firearm. Forexample, the discharge may be detected using one or more sensors of thefirearm, a wearable device worn by a user of the firearm at the time ofthe discharge, or another device.

In embodiments, detecting the threat can include processing restoredsensor information from multiple devices. For example, sensorinformation received from two firearms can be used to detect the threat.The sensor information can be processed to determine a change inorientation of at least one of the two firearms. Cones of fire for eachof the firearms can then be updated based on the sensor information.Responsive to a determination that the cones of fire of those firearmscoalesce as a result of such updating, the coalescence can be used todetect the threat. In embodiments, the threat may be detected based onthe coalescence of the cones of fire alone or based on additionalinformation which is used to clarify the reason for the coalescence ofthe cones of fire. For example, imaging data captured using a camera orother asset within the deployment location can be used to verify whethera location at which the coalesced cones of fire are pointing includes athreat. In another example, sensor information indicating a firing ofone or both firearms associated with the coalesced cones of fire can beused to detect the threat. In yet another example, one or more users ofthe firearms associated with the coalesced firearms can indicate thepresence of a threat.

In embodiments, the signal may be compressed at a device other than theconnection point. For example, the signal may be compressed at a mobilecomputing device used by a user of the device at which the signal isproduced. In another example, the signal may be compressed at the deviceat which the signal is produced. In such an embodiment, the connectionpoint may be used as an intermediate relay to receive the compressedsignal and forward the compressed signal to the server device.

To further describe some embodiments in greater detail, reference isnext made to examples of techniques which may be performed by or inconnection with a firearm usage monitoring system, for example, system100. The techniques include technique 3500 of FIG. 35, technique 3600 ofFIG. 36, technique 3700 of FIG. 37, technique 3800 of FIG. 38, technique3900 of FIG. 39, technique 4000 of FIG. 40, and technique 4100 of FIG.41.

Technique 3500, technique 3600, technique 3700, technique 3800,technique 3900, technique 4000, and/or technique 4100 can be executedusing computing devices, such as the systems, hardware, and softwaredescribed above. Technique 3500, technique 3600, technique 3700,technique 3800, technique 3900, technique 4000, and/or technique 4100can be performed, for example, by executing a machine-readable programor other computer-executable instructions, such as routines,instructions, programs, or other code. The steps, or operations, oftechnique 3500, technique 3600, technique 3700, technique 3800,technique 3900, technique 4000, and/or technique 4100, or anothertechnique, method, process, or algorithm described in connection withthe embodiments disclosed herein, can be implemented directly inhardware, firmware, software executed by hardware, circuitry, or acombination thereof. For simplicity of explanation, technique 3500,technique 3600, technique 3700, technique 3800, technique 3900,technique 4000, and/or technique 4100 are each depicted and describedherein as a series of steps or operations. However, the steps oroperations in accordance with this disclosure can occur in variousorders and/or concurrently. Additionally, other steps or operations notpresented and described herein may be used. Furthermore, not allillustrated steps or operation may be required to implement a techniquein accordance with the disclosed subject matter.

Referring now to FIG. 35, at 3502, a firearm operates in a first state.The firearm includes at least one sensor configured to recordinformation related to usage of the firearm, a communication interfaceconfigured to transmit data to a connected device, a buffer operativelycoupled to the at least one sensor, and a controller operatively coupledto the buffer, the communication interface, and the at least one sensor.The buffer is configured to store the information related to usage ofthe firearm. The first state includes transmitting data collected by theat least one sensor to the connected device in substantially real time.At 3504, a cloud-constrained condition is detected. Thecloud-constrained condition systematically inhibits communicationbetween the firearm and the connected device. For example, thecloud-constrained condition may be caused by a physical obstruction or anetwork-blocking action. At 3506, the firearm is operated in a secondstate in response to detecting the cloud-constrained condition. Thesecond state includes altering data transmission to maintain datafidelity. For example, data transmission intervals may be extended toreduce transfer overhead, the collected data may be processed to reducethe amount of data transmitted, the data may be stored for latertransmission, etc.

Referring now to FIG. 36, at 3602, communications are established with afirearm. The firearm includes a plurality of sensors configured torecord information related to usage of the firearm, a communicationinterface configured to transmit data to a connected device, and acontroller operatively coupled to the communication interface and theplurality of sensors. At 3604, it is repeatedly determined whether oneor more criteria related to usage of the firearm are satisfied. Thecriteria include a first criterion and a second criterion. In someaspects, the first criterion is the firearm being holstered and thesecond criterion is selected from the group consisting of the firearmbeing geolocated within a predetermined area, movement of the firearmbeing below a predetermined threshold, movement of the firearm beingoutside of a predetermined pattern, and a user being on-duty. At 3606,the firearm is operated in a first standby state in response thecriteria being satisfied. At 3608, the firearm is switched from thefirst standby state to a second standby state in response to the firstcriterion being unsatisfied while the second criterion remainssatisfied. At 3610, the firearm is activated to a real-time-monitoringstate from either the first standby state or the second standby state inresponse to the second criteria being unsatisfied. Thereal-time-monitoring state includes substantially real-time datatransfer to the connected device of the information related to usage ofthe firearm.

Referring now to FIG. 37, at 3702, communications are established with afirearm. The firearm includes at least one sensor configured to recordinformation related to usage of the firearm and a controller operativelycoupled to the communication interface and the at least one sensor. At3704, a communication interface configured to transmit data to aconnected device, it is repeatedly determined whether one or morecriteria related to usage of the firearm are satisfied. The criteriainclude one or more of the firearm being geolocated within apredetermined area, the firearm being holstered, movement of the firearmbeing below a predetermined threshold or outside of a predeterminedpattern, a user being on-duty, or contact of the user with apredetermined location on the firearm. At 3706, the firearm is operatedin a standby state in response to the criteria being satisfied. At 3708,the firearm is switched from the standby state to a real-time-monitoringstate in response to any of the criteria being unsatisfied. Thereal-time-monitoring state includes substantially real-time datatransfer of the information to the connected device.

Referring now to FIG. 38, at 3802, a plurality of users is monitored.Each of the plurality of users has a respective one of a plurality offirearms. At 3804, signals are received from the plurality of firearmsregarding usage thereof. At 3806, a display device displays a graphicalrepresentation of geospatial positioning of the firearms. At 3808, acontroller determines operating states of each of the plurality offirearms. At 3810, the controller detects a change in the operatingstate of at least one of the plurality of firearms. At 3812, an updatedgraphical representation is provided in response to detecting the changein operating state. The updated graphical representation providesindicia of the change in the operating state.

Referring now to FIG. 39, at 3902, communications are established with aconnected device via a communication interface. At 3904, a jammingsignal that inhibits communication with the connected device is detectedusing the communication interface. At 3906, in response to detecting thejamming signal, communication with the connected device is stopped. At3908, a wireless-energy harvesting mechanism leaches power from thejamming signal in response to detection thereof. The wireless-energyharvesting mechanism includes a receiving antenna configured to receivethe jamming signal, a rectifier configured to convert the receivedsignal to direct current, and a DC-DC converter configured to altervoltage of the direct current to a desired voltage.

Referring now to FIG. 40, at 4002, the battery powers components of thefirearm in a first sensing mode. At 4004, a communication interface ofthe firearm monitors electromagnetic flux proximate the firearm. At4006, a wireless-energy harvesting mechanism leaches power from theelectromagnetic radiation in response to the electromagnetic radiationdensity exceeding a predetermined threshold. The wireless-energyharvesting mechanism includes a receiving antenna configured to receivethe jamming signal, a rectifier configured to convert the receivedsignal to direct current, and a DC-DC converter configured to altervoltage of the direct current to a desired voltage. At 4008, operating,via the battery and the harvested power, the components of the firearmin a second sensing mode. The second sensing mode expends more energythan the first sensing mode.

Referring now to FIG. 41, at 4102, sensor information is received from afirearm. At 4104, an event model is used to evaluate the sensorinformation. In embodiments, the event model is created by obtainingtimestamped information from a first sensor type coupled to a firearmand a second sensor type, selecting a plurality of monitored eventsincluding a discharge event, labeling the timestamped information withthe respective one or more of the monitored events in response to thetimestamped information occurring contemporaneously with a respectiveone or more of the monitored events, grouping items of the timestampedinformation that are sensed temporally proximate to the monitored eventby the sensor or another sensor within the sensor types with eachrespective item of labeled information, splitting the grouped data intoa first portion and a second portion, training the event model using thefirst portion via machine learning, and evaluating the event model usingthe second portion. After the event model is trained and passesevaluation, the model may be implemented in the system or componentsthereof. At 4106, the evaluation determines occurrence of one or more ofthe monitored events. At 4108, indicia communicating the occurrence ofthe one or more of the monitored events are displayed to a viewer via ahuman interface in response to determining that a monitored event willoccur.

Referring to FIG. 17, gestures, positions and locations of a firearmindicative of or in preparation for live fire are shown. In particular,gestures and weapon orientations 1700 that can serve to as inputs and/ortriggers to system 100 are shown. In embodiments, gestures and weaponorientations 1700 can include a gripping gesture and orientation 1702, adrawing gesture and orientation 1704, a pointing gesture and orientation1706 that can be indicative of aiming the weapons, and a firing gestureand orientation 1708 that is indicative of live fire. Firing gesture andorientation 1708 can further include firing directions, angles of theweapon, rates of fire information, and the like. At each detectedgesture and orientation 1700, system 100 can, in many examples, transmita spot report 1710.

In various examples, spot report 1710 can include: unit identification,date and time information, location information, and threat/enemyactivity information. In embodiments, the unit identification canidentify user profiles, asset identities, and the like. In embodiments,the unit identification can also be used to determine what units (ordivisions thereof) of a deployed force are associated with the weapon.By way of these examples, system 100 can verify the authenticity of theunit identification, deploy encrypted communication and other securitymeasures to ensure secured connectivity with the weapon and its properpairing and continued proper pairing with the user. In embodiments, theunit identification can be associated with a soldier. In embodiments,the unit identification can be associated with a police officer. Inembodiments, the unit identification can be associated with a securityagent, a private homeowner or business owner, a unit of a corporatesecurity force, and the like.

In embodiments, spot report 1710 can include the location informationfrom GPS, inertial measurement information, other mapping information,or the like. In embodiments, the location information can also includeoverlays from location information provided by other associated users,components, network location information, and other electromagneticinformation in the vicinity. In embodiments, the location informationcan also include information from one or more attitude and headingreference systems from one more units deployed with the user. By way ofthis example, sensors on three axes can provide attitude information foraircraft, unmanned aerial vehicles, drones other deployable robots, orthe like and those sensors can supply roll, pitch, and yaw, or otherthree axes examples to enhance location information. The sensors caninclude solid-state or microelectromechanical systems gyroscopes,accelerometers, and magnetometers.

In embodiments, spot report 1710 including the threat/enemy activityinformation can include size, location, and activity for multipletargets. By way of this example, threat/enemy activity can be determinedor can be made more confident with information obtained by adjacentassets in the field. In many examples, unmanned aerial vehicles, drones,and the like may provide video overlays from the vicinity to confirmthreat/enemy activity, contribute to the calculation of threat/enemyactivity, and to increase confidence in reporting of threat/enemyactivity and location.

In embodiments, spot report 1710 can include provisioning informationabout the weapon and current ammunition status. By way of theseexamples, the spot report can include ammunition remaining, ammunitiondischarge rate, prompts for resupply, and anticipated resupply needs. Inmany examples, the weapons can be assigned a standard stock or count ofammunition. Detection of live fire can cause the firearm usage trackingsystem 800 to calculate shot consumption and predict when the weaponwill deplete its local ammunition. Resupply information can beautomatically transmitted when predetermined levels of remainingammunition are reached or are approaching quickly at a given rate offire. In many examples, the weapon may be provisioned with many roundsof ammunition and levels of remaining ammunition can be included in spotreports. Once remaining ammunition levels dip below preset thresholds,resupply alerts can be sent. In addition, predictions can be presentedto the user to describe when ammunition will be exhausted especially ifthere is currently or recently a relatively high rate of fire.

Referring to FIG. 18, a visualization of multiple users and assetsengaged in live fire showing spot report information includingcommunication statuses, unit identifiers, day and time information,location information, and assessments of enemy activity and locationincluding confidence indicators of threat assessment is shown. Inparticular, a third-person visualization 1800 including a street view1802 that shows multiple users 1804 and assets 1806 engaged in live fireis shown. In embodiments, third-person visualization 1800 includes spotreport information 1808 that can include communication statuses 1810,unit identifiers 1812, day and time information 1814, locationinformation 1816, and assessments of enemy activity and location 1818including confidence indicators of that assessment.

Referring to FIG. 19, a visualization of multiple users and assetsengaged in live fire showing spot report information including unitidentifiers, location information, ammunition remaining, ammunitiondischarge rate, prompts for resupply, and anticipated resupply needs areshown. In particular, a third-person visualization 1900 including anarea view 1902 that shows multiple users 1904 and assets 1906 engaged inlive fire is shown. In embodiments, third-person visualization 1500includes spot report information 1908. In embodiments, spot reportinformation 1908 includes unit identifiers 1910, location information1912, ammunition remaining 1914, ammunition discharge rate 1916, promptsfor resupply 1918, and anticipated resupply needs 1920. In embodiments,third-person visualization 1900 includes assessments 1922 of enemyactivity and location. In embodiments, assessments 1922 of enemyactivity and location can include confidence indicators 1924 of thatassessment.

In embodiments, FIGS. 20, 21, 22, and 23 depict, embodiments of firearmusage monitoring system includes circuit board 2010 electrically coupledto battery 2012 with connecting wire 2022. The battery 2012 iselectrically coupled to entry point 2014. The entry point 2014 isconfigured to receive a hardwire connection for either electrical poweror data. The battery 2012 is mounted into first grip panel 2016. Thecircuit board 2010 is mounted into second grip panel 2018. The firstgrip panel 2016 can be joined to second grip panel 2018 on firearm 2020to form grip 2024. The grip 2024 can contain magazine 2028 that cancontain rounds 3030. The trigger 2032 can be pulled after safety 2034 isreleased to fire one of the rounds 2030 with firearm 2020.

Turning to FIG. 25, the circuit board 2010 can be designed at a highlevel with functionality to promote extended battery life and facilitatemore detailed data recording. The entry point 2014 can be configured asa data connection point and, in this example, is shown here as a mini-Buniversal service bus (USB) connector 2100, when direct connection isapplicable. When connected to a USB cable this is a hard-wired data andpower connection 2102. The mini-B USB connector 2100 is electricallycoupled to a USB to serial universal asynchronous receiver/transmitter(UART) controller 104. This UART to USB controller 2104 comprises anintegrated modem with up to 3M Baud, a virtual communications (COM)port, and a +3.3 V level converter that operates on 8 mA or so. Forinstance, the FT231X integrated circuit meets these specifications. Ineffect, the UART to USB controller 2104 provides functionality to updatefirmware in the remainder of the system providing for substantiallygreater upgrades and improvements than other devices in this field. Inexamples, the UART to USB controller 2104 can be electrically coupled toa transmitter/receiver status light emitting diode (LED) 110 that canindicate if a firmware update is occurring.

In examples, force sensor 2120 can be electrically coupled to a firstgeneral purpose input/output pin GPIO 1 2122. The force sensor 2120 canbe a resistive based force sensor with a voltage divider for analoginput. In these examples, the force sensor 2120 will typically draw lessthan 1 mA of current from the UART to USB controller 2104. When force isimparted on the force sensor 2120, the circuit board 2010 can wake upand begin to operate (or operate beyond minimal operation). The forcesensor 2120 can be a force-sensing resistor. For instance, the FSR 2400single zone force-sensing resistor can meet these requirements.

In examples, the UART to USB controller 2104 can be electrically coupledto a Bluetooth/uC Module 2130. The bluetooth/uC Module 2130 can beconfigured to send data to and receive data from the UART to USBcontroller 2104. In some embodiments, Bluetooth/uC Module 2130 can be anRFduino stand-alone board that can be configured with an ARM Cortexprocessor and Bluetooth Low-Energy 4.0 built-in. In such examples, thiswould typically consume 20 mA peak and 9 mA normal. It is equallypossible, that the Bluetooth/uC Module 2130 can include two modules: amicroprocessor and a communication circuit which can be separated. Whilea Bluetooth communication circuit may be the easiest way to transmitdata, data can also be transmitted through the mini-B USB connector2100. Further, there is any number of possible wireless communicationsystems that could be used such as radio frequency, Wi-Fi, near fieldcommunication and other forms of electromagnetic or wired communication.

In some embodiments, the Master Out Serial In (MOSI) pin GPIO 2 2132 onthe Bluetooth/uC Module 2130, the Data Clock (SCK) pin GPIO 4 2134, theMaster In Serial Out (MISO) pin GPIO 3 2138, and the CS-MPU pin GPIO 52140 are electrically coupled to the nine-axis motion monitor 2142. Thenine-axis motion monitor 2142 may, for example, be an IMU. The nine-axismotion monitor 2142 is configured to measure and transmit data about allof the positioning of the circuit board 2010 while in motion of anykind. In many examples, this can include a Tri-axis gyro up to 2000 dps,tri-axis accelerometer up to 16 g, a tri-axis compass up to 4800 uT, andprogrammable interrupt. This would typically consume 4 mA. For instance,the MPU-9250 provides this functionality. In many examples, thistriparate functionality to monitors exact orientation and track wherethe firearm travels in terms of rotation, speed, and direction. In somecases, the tri-axis compass can be accomplished with a magnetometer.Recoil and/or shot count resulting from firearm discharge can beidentified from the gathered data.

MISO pin GPIO 3 2138, SCK pin GPIO 4 2134 and MOSI pin GPIO 2 2132 arefurther electrically coupled to serial flash memory 2150. In manyexamples, the serial flash memory 2150 can operate in double transferrate or DTR mode in some cases a gigabyte of memory formed by 256 MBdie, with 100,000 erase cycles per sector. In these examples, such anarrangement can draw 6 mA. The serial flash memory 2150 can be furtherelectrically coupled to CS-Flash pin GPIO 6 2152 on the Bluetooth/uCModule 2130. In these examples, the N25Q00AA flash memory meets thisrequirement.

MISO pin GPIO 3 2138, SCK pin GPIO 4 2134 and MOSI pin GPIO 2 2132 canbe further electrically coupled to a GPS Module 2160. The GPS Module2160 is further electrically coupled to CS-GPS pin GPIO 7 162 on theBluetooth/uC Module 2130. The GPS module 2160 can be configured todetermine position within 2.5 meters of accuracy with a 10 Hz updaterate, internal real time clock, onboard read only memory, and −167 dBmsensitivity. In these examples, this can operate continuously with adraw of 30 mA continuous and 7 mA while in power save mode (1 Hz). Forinstance, The U-BLOX™ CAM-M8Q chip antenna module can meet thisrequirement. There are a lot of other kinds of GPS systems that could beequally acceptable including Glonass™, Beidou™, etc.

In some embodiments, the mini-B USB connector 100 is electricallycoupled to the UART to USB controller 2104 for sending data D+ andreceiving data D−, however, it need not operate on that voltage.Accordingly, circuit 2010 can be configured to have a system that bothrapidly charges the battery 2012 and permits data exchange. In theseexamples, the mini-B USB connector is electrically coupled to a batterycharger 2166. The battery charger 2166 is electrically coupled tobattery 2012 with a switch 2168. The battery charger can be set to 500mA and include a sense current, reverse discharge protection, andautomatically power down. For instance, charger MCP73831 can meet theserequirements.

FIG. 25 depicts embodiments with a lithium polymer battery, but otherkinds of batteries can be used as well. One battery 2012 can provide 3.7V and have an 850 mAh capacity. The battery 2012 can be electricallycoupled to a low dropout (LDO) regulator 2170. The LDO regulator 2170can step down the voltage from 3.7 V to 3.3V to provide power at avoltage that can be used by the UART to USB controller 2104 and theBluetooth/uC Module 2130. The LDO regulator 170 can be configured toprovide 300 mA output, 270 mV dropout, output fixed at 3.3 V, reversebattery protection with no reverse current, and overcurrent protection.For instance, LDO regulator LT1962 can meet these requirements. In theseexamples, the GPS module would typically operate at 3.7 V.

FIG. 24 provides examples of connecting these components. The batteryconnection PI 2172 provides a battery voltage and is attached to groundand the switch SI 2174 toggles whether the battery voltage is sent tothe rest of the system. The battery charger U3 2178 is connected to thebattery 2012, and a voltage source and, when charging engages LED C22180. The LDO regulator U6 2182 can drop the battery voltage to 3.3 V.The Mini-B USB connection J1 2184 can be joined for data purposes toUART to USB circuit U1 2188. The UART to USB Circuit U1 2188 can receivedata from Bluetooth uC/Module U4 2190, which can receive data from thenine-axis motion monitor U7 2192, serial flash memory U5 2194 and theGPS Module U2 198.

FIG. 26 depicts embodiments of an electronic system 2200 that may takethe form of a computer, phone, PDA, or any other sort of electronicdevice. The electronic system 2200 can include various types of computerreadable media and interfaces to read and write to various other typesof computer readable media. The electronic system 2200 can include a bus2205, processing unit(s) 2210, a system memory 2215, a read-only 2220, apermanent storage device 2225, input devices 2230, output devices 2235,and a network 2240.

FIG. 27 depicts embodiments of components for a firearm usage monitoringsystem 2800 including an IMU including gyro/accelerometer 2802, GPS2804, force connector 2808, power input 2810, battery charger 2812,laser 2814, regulator 2818, USB connector 2820, flash memory 2822,Bluetooth™ 2824, programmable hardware 2828, and the like.

FIG. 28 depicts embodiments of the firearm usage monitoring system 2800integrated into a grip 2900 of a weapon 2902. A circuit 2908 boardhaving one or more of the combinations of the components illustrated inFIG. 27 can be disposed within the grip 2900 of the weapon 2902 and canbe integrated so that it is almost invisible to the user other than thepresence of USB ports 904 that can be covered by the hand of the userwhen the weapon is gripped or can be omitted altogether in someembodiments.

With reference to FIG. 26, the bus 2205 can collectively represent allsystem, peripheral, and chipset buses that communicatively connect thenumerous internal devices of the electronic system 2200. For instance,the bus 2205 can communicatively connect the processing unit(s) 2210with the read-only memory 2220, the system memory 2215, and thepermanent storage device 2225. From these various memory units, theprocessing unit(s) 2210 can retrieve instructions to execute and data toprocess in order to execute the many processes disclosed herein. Theprocessing unit(s) may be a single processor or a multi-core processorin different embodiments.

In embodiments, the bus 2205 also connects to the input and outputdevices 2230 and 2235. The input devices 2230 can enable the person tocommunicate information and select commands to the electronic system2200. The input devices 2230 can include alphanumeric keyboards,pointing devices “cursor control devices”, and the like. The outputdevices 2235 can display image generated by the electronic system 2200.The output devices 2235 can include various printers, display devicesand touchscreens that can function as both input and output devices.

The bus 2205 also couple the electronic system 2200 to the network 2240through a network adapter. In this manner, the computer can be a part ofa network of computers (such as a local area network (“LAN”), a widearea network (“WAN”), or an intranet), or a network of networks (such asthe Internet).

These functions described above can be implemented in digital electroniccircuitry, in computer software, firmware or hardware. The techniquescan be implemented using one or more computer program products.Programmable processors and computers can be packaged or included inmobile devices. The processes may be performed by one or moreprogrammable processors and by one or more set of programmable logiccircuitry. General and special purpose computing and storage devices canbe interconnected through communication networks. Some embodimentsinclude electronic components, such as microprocessors, storage andmemory that store computer program instructions in a machine-readable orcomputer-readable medium (alternatively referred to as computer-readablestorage media, machine-readable media, or machine-readable storagemedia). The computer-readable media may store a computer program that isexecutable by at least one processing unit and includes sets ofinstructions for performing various operations. Examples of computerprograms or computer code include machine code, such as is produced by acompiler, and files including higher-level code that are executed by acomputer, an electronic component, or a microprocessor using aninterpreter.

With reference to FIGS. 25 and 28, the hardware and software, inembodiments, can be activated using one or more of any form of user feedsensor 2840, force sensor 2842, wireless remote 2844, remote on/offswitch 2848, and the like. Moreover, the hardware and software can beactivated using one or more mobile device 2850, user wearables 2852,dedicated hardware token 2854 making a wireless or wired connection, orthe like. In embodiments, the firearm usage monitoring system 2800 mayoperate with the following instructions: receiving a signal from a forcesensor 2842 such as the force sensor 2120 (FIG. 25). If the signal ispresent, then the firearm usage monitoring system 2800 can engage, orthe system 2800 can remain in a dormant or sleep mode with a low voltagedraw as described herein. If the signal of the force sensor 2842 is on,then the Bluetooth UC/Module 2130 can receive a signal from the GPSmodule 2160 as to where the system 2800 is presently located. As notedabove, one or more signals including those from the force sensor 2120,2842 can activate the system 2800. Once the system 2800 is active, theIMU 802 (FIG. 27) can provide information as to how the firearm 2020 isoriented and moved in 3D space until, in some embodiments, pressurereleased on the grip 2024. The system 2800 can determine whether thefirearm 2020 has been motionless for a preselected period, or theinformation is specifically queried. Information as to how the firearm2020 is oriented and moved in 3D space can include analyzing the firearm2020 for recoil and/or shot count when fired to discern orientation,direction, and position at the time of discharge. In examples, this datacan be stored in the flash memory 2150 and can be transmitted throughthe Bluetooth uC/Module 2130 to another Bluetooth compatible device. Theinformation including orientation, direction, and position can be alsotransmitted from the firearm 2020 at preselected time intervals,specific times, distances from certain locations (e.g., pre-definedgeo-fencing locations or distances), at the time of discharge, at thetime of reload of rounds 2030, when the safety 2034 (FIG. 21) isremoved, and the like.

In embodiments, the firearm usage monitoring system 2800 may record themotion of the firearm 2020 and provide geolocation information 2858,which may be coordinated with other information, such as disclosedherein. In embodiments, the system 2800 may transmit data via thenetwork connection 2240 (FIG. 26), such as a cellular network, to aremote server, which may be a secure server, or other remote processingcomponents, such as the mobile device 2850, cloud platform 2860, or thelike. In embodiments, the system 2800 may include efficient architectureand components for low power consumption including energy harvestingmechanisms 2862. In examples, the system 2800 can harvest the energy ofmotion of the firearm or energy from the recoil to provide power forstorage and/or reporting of data. In embodiments, methods and systemsprovide rapid, efficient determination of location. The energyharvesting mechanisms 2862 may also be configured to harvest localenergy in the radio frequency (RF) domain or other appropriate localelectromagnetic signals of sufficient strength.

In embodiments, the network connection 2240 (FIG. 26) by which thesystem may communicate data may be a mesh network connection 2864. Withreference to FIG. 30, the mesh network connection 2864 may be aconnection to one or more other firearms or one or more other devices,such as a mobile robot 2868, an infrastructure device 2870, or the like.The mesh networking connection 2864 may form part of a large meshnetwork, allowing devices, such as firearms and mobile robots, tocommunicate directly with one another, rather than having to firstconnect through a centralized network communication hub, or as asupplement to communication by one or more devices to such a hub. Suchdevices may include self-disposing devices 2872, for example,self-disposing mobile robots. In embodiments, the mesh network 2864 maybe a self-organizing and fluid mesh network that organizes andreorganizes itself based on specified data, including data filtered orweighted based on specified criteria, and/or the dynamic detection ofother devices, for example with a geographic perimeter. Other devicesmay include deployable mesh network hubs 2872, also known as “pucks”,beacons, wireless access points, such as Wi-Fi access points, lightingsystems, cameras, and the like. The mesh network 2864 may also includeasset management systems, crowdsourced communications, frequencyscanning networking, cellular mesh networking or other systems. Inembodiments, devices on the mesh network 2864 may adjust locationinformation based on the relative movement of each other within the meshnetwork 2864. In embodiments, the relative movement of devices may bereported by other devices within the mesh network 2864 over the meshnetwork 2864, such as to the self-disposing devices 2872. The relativemovement of other devices may also be derived from IMUs disposed withthe other devices within the mesh network 2864. Relative movementinformation may include speed, velocity, acceleration or positioninformation, and/or event identification information 2874. Suchinformation may include threat identification information, shot accuracyinformation and the like. Event identification information may includeweapon information, information indicating a person is in anunauthorized area, soldier maneuver information (e.g., speed, direction,activity, or the like), in-position information (such as for anindividual or a device), rate-of-fire information, alternating fireinformation, maintenance required information, stoppage eventinformation, ammunition expenditure information, fight or struggleinformation and the like. In embodiments, authentication information maybe received from radio frequency identification (RFID) implants, forexample, implanted in the person. In embodiments, the relative movement,such as among devices in the mesh network 2864 like firearms 2020 andother equipment may be provided relative to at least one geographiclocation, such as through the use of data from the IMUs or from one ormore other data sources. In embodiments, location may relate to relativelocations of one or more other firearms or other devices connected tothe mesh network 2864, such as the distance, direction, and/or movementof one or more other firearms 2020 or other devices relative to a givenone. In such embodiments, geographic location and movement information2858, whether relating to a location or to another firearm or otherdevice may be communicated to a given firearm or other systems of anindividual handling a firearm over the mesh network 2864. Inembodiments, the geographic location may be an underground geographiclocation, where other geographic location detecting signals, such as GPSare not available. In embodiments, a combination of geographic locationand relative location may be understood by the system, such as where atleast one member of a mesh network has a detectable location (such as byGPS signal) and other members have locations that are determinedrelative to the known member, such as by detecting motion through theIMU 2802 or other non-GPS systems. It may be appreciated from theseembodiments that using data from the IMU 2802 on the mesh network 2864may allow the firearm usage monitoring system 2800 to provide dischargelocation information in geographic locations that may not otherwise becovered by geographic location detecting signals.

In embodiments, the mesh network 2864 connection may be a wireless meshnetwork connection and may be configured based on radio communicationfrequencies. In some situations, radio communication frequencies may besubject to interference or jamming, either intentionally or otherwise,making communication difficult or impossible when attempting toestablish a connection over the compromised frequency. Interference orjamming may include radio frequency interference or jamming, opticaljamming, noise, and the like. Because of the risk of jamming, andbecause communication reliability may be critical for user of thefirearm usage monitoring system 2800, the firearm usage monitoringsystem 2800 may detect such jamming of one or more frequencies andautomatically adjust the frequency of the mesh network 2864 to avoidusing the compromised frequency, such as by selecting a frequency notcurrently subject to interference or jamming. The firearm usagemonitoring system 2800 may then establish a wireless mesh networkconnection with another device using the selected frequency. Jamming orinterference detection may include detecting attempted signalinterception and scrambling transmitted information to avoid thedetected signal interception.

In embodiments, the firearm usage monitoring system 2800 may determinedischarge information 2878 related to the firing of the firearm 2020connected to the mesh network 2864. The discharge information 2878 mayinclude discharge location, direction of the discharge, a motion path ofthe firearm preceding discharge and/or orientation of the firearm atdischarge. Orientation information 2880 may be provided by the IMU 2802and may include enemy area location and size information, unsafe actinformation, line of fire information, shift fire information, sectorsof fire information, interlocking fire information, 360 degree perimetersecurity information and the like. The discharge information 2878 may bedetermined from motion and location information, such as provided bydevices connected to the mesh network. For example, the dischargelocation may be determined from geographic location data of one or morefirearms connected to the mesh network 2864 and may use relativemovement data provided by the other devices connected to the meshnetwork 2864, for example by analyzing relative movement data that isbased on resident IMU data from other firearms connected to the meshnetwork 2864. In embodiments, methods, systems and components areprovided for a small-footprint firearms tracking system 2882, such asone of the dimensions less than 25 mm×25 mm×4.55 mm). In embodiments,the firearm tracking system 2882 may identify movements and actionswhile in sleep mode such as to trigger transmission of alert codes. Inembodiments, the firearm tracking system 2882 may be adapted forintegration with various gun platforms, such as to interface withdifferent grips, handles, and other internal and external firearmcomponents and accessories, including being integrated entirely into thegrip of the firearm. In embodiments, the system may use over-the-airupdates, may act as or integrate with a beacon 2884, such as a BLEBeacon, which may be charged by wireless charging and may record data(such as IMU data) when in the active or inactive mode (such as to flashmemory) and may enable a sleep/hibernation mode. In embodiments,components are provided for a small-footprint firearms tracking system2882 may include Simblee (Bluetooth Low Energy, Microcontroller Unit),Micron N25Q256A13EF840E (256 Mbit Flash Memory), MPU9250 (9 axisaccelerometer, gyroscope, and magnetometer IMU), ORG1411-PM04 (OriginGPS Nano Hornet, 2.7 V), FSR-400 (Force Sensor), 800 mAh LiPo Battery,Battery Charger (MCP73831), 2.7 V Regulator (MIC5365), 3 V Laser, and/orUB-MC5BR3 (Waterproof USB connector).

In embodiments, the system may function in active modes, sleep modesand/or hibernation modes. In the active mode, the device may be in fullpower mode, such as using power for collecting readings from the IMU andGPS and transmitting them via a local protocol like BLE to an edgedevice. The laser module 2814 may also be activated. In embodiments,data can be sent in this format at relatively high data rates, such asat 30 messages/second, 50 messages/second, 100 messages/second, or thelike. A sample string may includeAB-FC-22-CC-B3-00-00-00-00-00-00-00-00-00-00-00-00-5E-89-5A-C0-71-3E-E6-C0-FA-18-9C-00-00-20-75-3F-00-80-52-3E-00-00-19-3E-00-00-B4-40-67-66-00-C1-34-33-6B-00-01-BA. The guide may be as follows: AB (header), FC-22-CC-B3-00 (millisecondtimestamp), 00-00-00-00 (latitude), 00-00-00-00 (longitude), 00-00(altitude in meters), 00 (horizontal accuracy in meters), 5E-89-5A-C0(gyro x), 71-3E-E6-C0 (gyro y), FA-18-9C-C0 (gyro z), 00-20-75-3F (accelx), 00-80-52-3E (accel y), 00-00-19-3E (accel z), 00-00-B4-40 (mag x),67-66-00-CI (mag y), 34-33-6B-C0 (mag z), 01 (unit status), BA (footer).A millisecond timestamp may be used, such as in a modified Unixtimestamp, e.g., for milliseconds after 01-01-16. If BLE is unavailableor a message is not sent, this may be stored in the flash memory 2150,2822 to be sent when the device enters sleep mode. The Active mode maybe triggered when force is applied to the force sensor 2120, 2822.Depending on the configuration, the system 2800 may remain in the activemode for a specified time, such as two minutes after the force is nolonger applied, for five minutes, for ten minutes, or the like. Thistimer may be reset when force is reapplied. In embodiments, the lasermodule 2814 may be turned on at limited times, such as when the forceapplied to the force sensor (optionally based on the mode or regardlessof the mode). This mode may consume, for example, around 70 mAh ofenergy. The unit may also power down into a “sleep” mode, such as whenthere is no longer force applied to the unit and the timer has gone down(indicating expiration of active mode). In such a sleep mode, onemessage may be sent at a defined period, such as once per second, suchas containing the timestamp, location data, and current orientation data2880. The GPS module 2160, 2804 may enter an ATP (adaptive tricklepower) state where it cycles between full power and ATP to minimizepower consumption while maintaining a fix on its location. Inembodiments, a location fix may be maintained consistently, regardlessof power mode. In embodiments, the IMU may be polled at a low rate, suchas to monitor movement. If no movement is sensed for a given time, suchas five minutes, then the unit may go into another even lower powermode, referred to herein as a hibernation mode. In such as hibernationmode, the unit may continue to send messages (e.g., one per second),such as containing the timestamp, location data, and current orientationdata. The GPS module 2160, 2804 may enter hibernation where it consumes,for example, under 1 mA of power. The IMU 2802 may still be polled at alow rate. If movement exceeds a certain threshold, the unit may go intosleep mode and the GPS module 2160, 2804 may wake up to maintain alocation fix. This mode may consume, for example, under 7 mAh.

In embodiments, the firearm usage monitoring system 2800 may communicatewith external systems, such as by delivering reports, events, locationinformation, and the like. In one such embodiment, a signal may beprovided to a camera system 2880, such as a body camera worn by anindividual, to initiate recording by the camera, such as recording videoof a scene involving the individual. For example, the camera system 2888may initiate recording upon receiving a signal indicating that a weaponhas been raised into an aiming position so that the situation in whichthat activity occurred is recorded. By triggering the camera system 2888to activate one or more body cameras upon such events, use of the bodycameras may be limited to key situations, potentially reducing thestorage and data transmissions requirements for capturing, storing andtransmitting video data over networks, which can be very expensive iflarge amounts of video are captured for normal daily activities forwhich there is little use for recorded video. In these examples, theinformation obtained from the camera can be with permission and only incertain geographic zones to support privacy requirements for varioussituations. In these examples, the information obtained from the cameracan support facial recognition functionality. In further examples, theinformation obtained from the camera be of reduced quality to supportfaster capture but otherwise not support facial recognitionfunctionality or other post-processing requiring substantially highresolution. Thus, the firearm usage monitoring system 800 may enable amuch more efficient overall monitoring system, including one thatrecords video involving the user of the firearm 2020.

In embodiments, data, such as various firearm usage events (such asgripping the firearm, raising the firearm, discharging the firearm,moving around with the firearm, entering defined locations with thefirearm, and the like) may be stored, analyzed, and provided, either inraw form or in various packaged feeds, such as analytic feeds, toexternal systems. With reference to FIG. 28, one class of system thatmay consume such data and/or analytics is an insurance system 1050,where such data may be used for various purposes, such as forunderwriting and pricing insurance contracts (such as for liabilityinsurance, accident and hazard insurance, health insurance, lifeinsurance, and others) involving one or more individuals or groups forwhom firearm-related activity is monitored by the methods and systemsdisclosed herein. This data may be used for actuarial purposes (such asto predict the likelihood of adverse events involving firearms, such asaccidents or other problems), as well as to compare the relative safetyof a given group as compared to one or more cohorts. For example, asecurity firm that wishes to obtain liability insurance can be comparedto other security firms in the same industry or area, and the extent towhich weapons are gripped, raised, or discharged can be considered indetermining whether to issue insurance and at what price insuranceshould be issued. This may include data related to on-the-job events aswell as data related to training (such as where consistent usage intraining situations may serve as a favorable indicator forunderwriting).

Methods and systems are provided herein for identifying discharges andcounting shots, discharges, etc. Conventional technologies for doing sotypically require a spring in the magazine and a system for detectingwhere the spring is positioned. For example, as another bullet went intothe chamber of the weapon, the spring position helped measure rounds ina magazine. By contrast, the present disclosure provides an externalsolid-state device that can be attached to the firearm 2020 to registerwhen one or more shots are fired. The discharge has a unique,detectable, physical profile (i.e., a discharge has recoil that has aparticular motion profile, sound profile, and the like). A recoilmeasuring system 3052 may use an IMU, including or combined withmotion-detecting/sensing elements, including one or more accelerometers,gyros, magnetometers, and the like. In embodiments, a map is developedbased on analyses of discharge events to the map the entire motionsequence caused by a typical discharge. That motion profile, which maybe unique to each weapon platform and user, can be stored and used as abasis for comparing future sensed data to determine whether a dischargeevent has occurred. Similar profiling can be used for each weapon typeto determine whether the firearm has been raised to an aiming positionor out of the holster position.

In embodiments, a firearm usage monitoring system 2800 may allow a userto validate a threat, for example in a combat situation. A firearm usagemonitoring system 2800 may establish a pressure signature 3054 tovalidate the threat. The threat may be validated by the firearm usagemonitoring system 2800 by comparing the pressure signature against arange of pressure signatures, for example from no pressure to extremepressure.

In embodiments, the pressure signature 3054 may be established bycollecting information, from sensors, on or around the firearms and thelike. In embodiments, sensors may be wearable sensors 3058, such as froman armband, a watch, a wrist band, glasses, a helmet or other headgear,an earpiece, or the like, or may be combined with other sensors,including multi-modal sensors 3060. Sensors may also include otherwearable sensors, firearm motion sensors, firearm orientation sensors,firearm discharge sensors and combinations of sensors. Combinations ofsensors may include combinations of wearable and firearm sensors,combinations of firearms and fixed sensors, for example, Internet ofThings (IoT) sensors, and the like. A sensor-equipped firearm mayinclude a pressure sensor, for example, to determine a grip profileusing information such as threat ID, shot accuracy, engagement, alertinformation and tactical information. Information collected from asensor-equipped firearm may include discharge information, motioninformation, rate of motion information, orientation information and thelike. The rate of motion information may include movement informationrelated to speed, threat identification and shot accuracy. Movementinformation may also be related to an event identifier for events, suchas events associated with weapons and people. Events associated withfirearms may include events indicating the firearm has fallen, isoutside of a pre-designated distance from its owner, in an unauthorizedarea and the like. Events associated with people may include eventsindicating a person is in an unauthorized area, the maneuvering speed ofthe person and the like. Determining the pressure signature 1054 mayalso include determining a firearm-specific candidate action of a firstfirearm user, from at least a portion of the collected information. Thecandidate action may be compared with other firearm users, for example,other firearm users proximal to the first firearm user or other firearmusers associated with the first firearm user. The collected information,candidate action or actions, and action comparison result may then bestored in a data structure that represents the pressure signature 3054.The collected information, candidate action or actions, and actioncomparison result may also be filtered or weighted based on specifiedcriteria, prior to being stored in the data structure that representsthe pressure signature 3054.

In embodiments, the firearm usage monitoring system 2800 can providealternatives for monitoring discharges, such as cameras, or augmentsthose other monitoring systems. The methods and systems disclosed hereinmay include image recognition, which can identify the flash of a muzzleor for the slide rocking back. The system may also have acousticabilities and may provide sound recognition.

In embodiments, the firearm usage monitoring system 2800 can include aninfrared gate in front of the ejection port. This gate 3062 can track adisconnect when the weapon is fired, such as when the shell is engagedand breaks the gate 3062. In embodiments, the firearm usage monitoringsystem 2800 may include a hall effect sensor 3064 to measure the motionof an internal part. In embodiments, the firearm usage monitoring system2800 can capture the discharge profile of a given weapon by using anIMU. The discharge profile may have unique inertial characteristics whena weapon is discharged, such as based on the geometry, distribution ofweight, specified ammunition, and the like, so that a discharge can beprofiled and identified based on a series of movements that are measuredby the IMU. In embodiments, the firearm usage monitoring system 2800 maytrack with a global positioning system (GPS). In embodiments, thefirearm usage monitoring system 2800 includes network reportingfacility, such as through a Bluetooth discharge report to a centralizedserver. In embodiments, the firearm usage monitoring system 2800 canalso measure when a hand is on the grip of the weapon indicating athreatening situation. This sensor, button, or switch can providevaluable data, such as by alerting others to a potentially dangeroussituation.

In embodiments, the firearm usage monitoring system 2800 can include anactivity monitor which will indicate events such as when the gun iselevated and being pointed.

In embodiments, the firearm usage monitoring system 2800 can include aslim profile, waterproof enclosure to house the electronics and housing.In embodiments, the firearm usage monitoring system 2800 includes agrip-integrated reporting device including GPS technology. Inembodiments, the firearm usage monitoring system 2800 can be customizedwith various grip configurations and textures, such as to fit any kindof weapon with a familiar, comfortable type of grip that is typical forthat weapon.

In embodiments, the system 2800 can be integrated with other systems andaccessories. For example, a visible light (such as green or red) orinfrared laser pointing module 2814 can be integrated with the grip,such as to help with target acquisition, a flashlight to improvevisibility, or a range finder also for target acquisition.

In embodiments, the firearm usage monitoring system 2800 contains awireless charging system for the firearm discharge device to facilitategreater ease of use.

In embodiments, the firearm usage monitoring system 2800 can allow formanual or automatic calibration of the laser designator. In embodiments,the firearm usage monitoring system 800 can detect alternative trackingsystems when in a denied GPS location; for example, the system cantriangulate with cellular to provide an initial location to increase thespeed recognition of location or the system can triangulate with Wi-Fior other beacon technologies. In embodiments, the firearm usagemonitoring system 2800 can augment GPS with IMU to maintain relativeposition over time. The system can then provide better accuracy onphysical location within a building that cannot support GPS tracking. Inembodiments, the firearm usage monitoring system 2800 integrates withGPS-denied navigation systems.

In embodiments, the firearm usage monitoring system 2800 can augment thephysical location detection with depth sensors and camera systems togather data.

In embodiments, the firearm usage monitoring system 2800 can providedata storage. The system gathers data when the device is gripped throughminutes after the device is disengaged. If the device cannot transmit tothe edge device on the network (e.g., not available, out of range), itmay store (e.g., for up to 30 days) in onboard memory (e.g., throughhigh data rate memory). Once available, the system may restart thetransmission process, so that the data is sent over.

In embodiments, the firearm usage monitoring system 2800 has anecosystem for data. In embodiments, data may be aggregated, such as tocreate an aggregate database for firearms data, with various metricsthat can be applied to that kind of data, such as indicating groups orlocations that use weapons with varying frequency, that undertake moreor less training, and many others.

In embodiments, the firearm usage monitoring system 2800 can providepower management capabilities. If the device is in motion but not inuse, the low power mode (e.g., with occasional pinging) may beimplemented to maintain general awareness of the location of the user.The device transmits a location every one second. If not used for aperiod of time, (e.g., for ½ hour) the device may send one message at adefined interval, such as every second, every minute, every one-halfhour, every hour, or at other intervals.

In embodiments, the firearm usage monitoring system 2800 can provideinventory control. With monitoring, an alert can be sent and the weaponcan be tracked. Thus, for a manager, the system may provide locations ofall weapons of a given force at any given time.

In embodiments, the firearm usage monitoring system 2800 can providefirearm maintenance. With monitoring, the system may provide data on thenumber of rounds discharged and which gun components need maintenance orreplacement.

In embodiments, the firearm usage monitoring system 2800 can providereal-time tracking of users when in motion. This can identify where thedevice and users are at any time and when the weapon is in motion.

In embodiments, the firearm usage monitoring system 2800 can integratewith the body camera systems 2888 and automatically activates when thedevice is gripped or in motion. The body camera data can then bestreamed in real-time when in use. In embodiments, the firearm usagemonitoring system 2800 can be activated when motion is detected from thebody camera system 2888.

In embodiments, the firearm usage monitoring system 2800 can integratewith wearable devices 1058, such as activity monitors. It can integratewith mobile devices and the Emergency Response Data communicationsarchitecture.

In embodiments, the firearm usage monitoring system 2800 can includegeofence-based alerts. The geofence capability can be implemented arounda warehouse where weapons are stored to track weapons for inventorycontrol or threatening situations.

In embodiments, the firearm usage monitoring system 2800 can includepersonnel information including home addresses for location-basedreaction when granted permission where applicable.

In embodiments, the firearm usage monitoring system 2800 includes adashboard user interface 3068. Views available on the interface 3068 caninclude maps and can be populated with icons showing exact locations ofweapons. Each of the icons can include all personnel information for theweapon, status, and includes a button to zoom in on that location (anddrill down on the data). In embodiments, the firearm usage monitoringsystem 2800 provides aggregating units in the dashboard user interface3068. When the views on the inter-face 3068 become too dense withoverlapping icons, the map may adjust to include a new icon symbolizingmultiple units within the specific area.

In embodiments, the firearm usage monitoring system 2800 providessoftware-aided dispatch integration. The software used for monitoringfirearms can replace or augment the current computer-aided dispatchsystem to gain efficiency in call response and have one program to bemore effective.

In embodiments, the firearm usage monitoring system 2800 can integratewith Police Evidence Collection Systems, such as providing a centralizedsoftware suite that gathers the evidence information and can also allowcertain users to view and upload the information, creating efficienciesacross departments.

In embodiments, the firearm usage monitoring system 2800 can allowindividuals to review and replay firearm data as part of evidencecollection, training, and/or auditing purposes.

In embodiments, the firearm usage monitoring system 2800 can integratewith shooting ranges and retail point of sale (POS) inventory andmaintenance systems 3070.

In embodiments, the firearm usage monitoring system 2800 can integratewith the flight deck of an airplane and otherwise not be included in afirearm or system. The system 2800 may provide an IMU in the plane'ssteering wheel for further tracking purposes.

In embodiments, the firearm usage monitoring system 2800 can integratewith the controls of cargo ships, and the like. The system may providean IMU in the ship's steering wheel for further tracking purposes. Inembodiments, the system 2800 may be deployed to provide tracking withinshipping containers.

In embodiments, the firearm usage monitoring system 2800 can integratewith various vehicles and inventory to provide fleet and/or inventorymanagement.

In embodiments, the firearm usage monitoring system 2800 can adapt to alarge variety of firearms with various grip options.

In embodiments, the firearm usage monitoring system 2800 provides overthe air (OTA) updates for software upgrades.

In embodiments, the firearm usage monitoring system 2800 can integratewith original equipment manufacturer (OEM) components such as IMU, GPS,and Bluetooth.

In embodiments, the firearm usage monitoring system 2800 provide,integrate with, or connect to the machine control system 3000 andmachine-learning systems 3072 including custom algorithms fordetermining recoil of the firearm and other behaviors or characteristicsof the system. For example, in embodiments, the firearm usage monitoringsystem 2800 can include one or more machine learning systems 3072 withone or more identification methodologies to determine the complex motionassociated with the discharge of a particular type of weapon.Embodiments may include feeding IMU data collected upon gripping,movement, and discharge of weapons into the machine learning system3072, so that the system can learn the parameters of each with respectto enough training events that it can rapidly and accurately identifynew events based on new IMU data, such as collected in real time. Inembodiments, the system 3072 can be trained to learn to identify athreatening situation when the grip is engaged and the firearm ispointed, when the motion has increased indicating a pursuit, and when itis not in motion (e.g., placed in sleep mode). More complex patterns canbe learned, such as determining what patterns tend to lead to accidents,dangerous incidents, higher quality training, and the like.

In an example of learning and utilization of a complex pattern, afirearm usage monitoring system 2800 may use the machine learning system3072 to determine firearm movements that may indicate a discharge fromthe firearm is imminent. In this example, the machine learning system3072 may, for example, detect motion and orientation data from sensors,such as from sensors on the firearm 2020, sensors in the mesh network864 (including other firearms) or wearable sensors (e.g., multi-modalsensors) of the human user of the firearm, which in turn may be used bythe machine learning system 3072 to facilitate a threat response. Inembodiments, a threat response may include an automatic threat response,such as by one or more machines that are teamed with the human user ofthe firearm 2020.

In embodiments, the machine learning system 3072 may determinecombinations of data, such as motion, orientation and multi-modal sensordata that are indicative of imminent discharge of the firearm.

The machine learning system 3072 may also receive other inputs orgenerate information to combine with the sensor data, such as anindication of a firearm state. Firearm states may include combat states,training states, wartime states, peacetime states, civilian states,military states, first responder states, incident response states,emergency states, on-call states, and the like. Firearm states may bestates from one or more than one firearm, for example, a set of firearmsassociated with a group of soldiers in the same section of a battlefieldor a set of police officers in a region.

Combinations of data may allow the machine learning system to recognize,determine, classify, or predict information, such as about environments,objects, image content, whether a person is friendly or adversary,structures, landscapes, human and human gestures, facial indicators,voices, and locations, among others. Example combinations may includecombinations of data from topography and physiological monitors, ISR,and structure recognition combinations, as well as combinations of humanand machine physical states. Combinations of data may also be tacticalcombinations. Tactical combinations may combine data from devices on abattlefield, information about other sectors of fire, and the like andmay include firearms and other weapons, vehicles, body armor and otherwearable elements, and the like (collectively referred to herein as“battlefield of things”) devices including, for example, remotelyoperated units such as Common Remotely Operated Weapon Stations (CROWS)or other remote controlled firearms that may be configured with heaviercalibers and higher lethality.

Objects that may be recognized by machine learning may include weapons,man-made objects, natural objects, and the like. Structures may includedoors, stairs, walls, drop-offs, and the like. Human gestures may bedetected, interpreted and understood by the machine learning system,while facial indicators could be indicators of mood, intent, and thelike. The machine learning system 3072 may use thresholds to assist withdetermination and recognition process. For example, combinations of dataexceeding specified levels may provide a high degree of confidence thatthe recognition process is accurate.

In embodiments, the machine learning system 3072 teamed with the humanuser of the firearm 2020 may be operated autonomously, for example, inresponse to a determined intent of the human user of the firearm 2020teamed with the machine learning system 3072. The firearm usagemonitoring system 2800 may detect gestures of the human firearm user,such as by capturing and analyzing data from sensors that detectconditions of the human, as well as firearm sensors. Sensors that detectconditions of the human may include multi-modal sensors and multi-modalwearable sensors. Gestures may include pointing gestures, threatidentification gestures, target acquisition gestures, signaling gesturesand the like.

In embodiments, conditions recognized by the machine learning systems3072 or sensed in order to facilitate the training of the machinelearning system 3072 may include conditions indicative of human states,such as stress and other physiological states. Conditions indicative ofhuman states 3074 and captured by sensors for analysis by the firearmusage monitoring system may include heart rate conditions, for example,physical state relationships, blood pressure conditions, bodytemperature, galvanic skin response, heat flux, moisture, chemistry (forexample glucose levels), muscle states and neurological states. Variousbiological conditions or biosensors may be indicative of threats, suchas heart rate conditions, body temperature, moisture (such as indicatingexcessive perspiration), blood pressure, galvanic skin response, andothers. Firearm sensors may be multi-modal firearm sensors and mayinclude sensors that detect motion, orientation and discharge state ofthe firearm 2020.

Analyzing the data by the firearm usage monitoring system 2800 mayproduce a set of candidate intents 3080 of the human firearm user or ofanother individual in proximity to the firearm user (such as wherecamera information, voice information, and the like is available). Thecandidate intents 3080 may, in embodiments, be combined with physicaland operation machine state information to select one or more actionplans 3082. The machine teamed with the human user of the firearm 2020may then execute and adjust the selected action plan 3082 based onupdated intents, machine states, and environmental factors. Machinestate factors may include physical factors, operational factors,orientation factors, tactile/force factors, and the like.

Environmental factors 3084 may include weather factors, location datafactors, altitude factors, topography factors, video factors and thelike. Weather factors may include temperature, humidity, wind speed,wind direction and precipitation factors, among others. Location datafactors may include streaming data, as well as data acquired from globalpositioning systems (GPS) and beacons, access points or the like, aswell as through cellular triangulation. Topography factors may includedata and observations, while video factors may include both live andarchived video feeds. The action plan 3082 may also be formed from a setof predetermined action steps, for example, action steps that eachsatisfy human teaming criteria selected to coordinate with at least oneof the candidate intents 3080. Actions steps may also be arranged intoaction plans by sets of rules.

With reference to FIG. 31, the machine learning system 3072 may includethe machine control system 3000 that may team with a human user of afirearm. In embodiments, the machine control system 3000 may receivemulti-modal sensory input 3002 from multi-modal sensors. The multi-modalsensory input 3002 may send sensed data to a sensory analysis module1004. The sensory analysis module 3004 may forward an actionablerepresentation of the sensed data to a control scheduling process module3006 and a real-time control process module 3008 for further processing.

The control scheduling process module 3006 may provide schedulingcontrol information to the real-time control process module 3008 thatmay issue machine control scenarios to machine controller modules 3010.The machine control modules 3010 may affect the machine controlscenarios, for example, by mechanization of the machine through a finalcontrol element module 3012. Machine control scenarios may includerecognition of celebratory situations such as dancing scenarios andfirst bump scenarios separate from other human machine learningscenarios in much more threatening and complex environments. In manyexamples, the machine learning system 3072 may identify celebratory fireover threatening fire. In embodiments, one or moreanalysis-schedule-real-time modules 3088 (FIG. 33) may store informationin a storage module 3014 for use as feedback/input to the machinelearning system, such as feedback provided through feedback modules3016, that then may adjust parameters for teaming. It will beappreciated in light of the disclosure that it may not be practical tohard code every combination of movement and therefore the machinelearning system 3072 may be configured to identify one or more series ofmovements after being shown by one or more human users of other machinelearning systems. By way of these examples, the machine learning system3072 may learn the movements of the its users by translating anddetecting their motion and comparing the identified motions in contextwith the environment in comparison with trained examples, confidence inthose examples, corrections to past activity, and the like to assist,anticipate, protect, support, and facilitate the needs of the users inthe theater more quickly and more safely.

In many examples, social interactions between human users and machinesdeployed with them must be learned by both parties. It will beappreciated that early stage robots (i.e., those incapable of expressing“feelings”) could improve the psyche of their human counterpart evenwith little mutual social interaction. With that said, many situationsarise where mutually beneficial social interactions between the usersand the machine learning system 3072 may improve the ability of themachine learning system 3072 to assist, anticipate, protect, support,and facilitate the needs of the users in the theater more quickly andmore safely. Many situations are additionally good candidates to trainthe machine learning system 3072 to understand friendly environmentsover threatening situations. In these environments and situations, themachine learning system 3072 may need to learn how to interact more withhuman users in order to better produce a more intuitive experience. Inmuch the same way as our homes may be associated with a certain smell orfeeling, the machine learning system 3072 may need to understand andrelate sensory inputs with other inputs and schedule specific actionsand processes. If a human user and robotic machine counterpart enter themess hall which is not a combat zone, the machine learning system 3072would need to understand that a different set of actions or schedulingprocesses occurs in this environment when instructing its roboticmachine counterparts (or other assets) in the area.

In embodiments, the machine learning system 3072 may manage acoordinated team of human users of firearms and at least one machine. Inthis embodiment, the machine learning system 3072 may receive as inputsat least one sensory input about a human and at least one sensory inputabout a machine that is part of the team coordinated with the human. Themachine learning system 3072 may then automatically, using machinelearning, determine the occurrence of an event, such as a pre-dischargeevent, a discharge event, a post-discharge event (including apost-discharge adverse event) or other events. The post-dischargeadverse events may include injury to the human or occurrence of damageto the machine, such as subsequent to the detection of a firearmdischarge event by the system.

In embodiments, the firearm usage monitoring system 2800 may be orinclude an all-in-one communication device 3090. The system mayintegrate with a variety of other communication devices, such as camerasystems 2888 including body cameras, helmet cameras, heart ratemonitors, physiological monitors, and messaging.

In embodiments, the firearm usage monitoring system 2800 may integratewith physiological monitors. A heart rate band or monitor can be anindicator of a distressed situation creating a notification.

In embodiments, the firearm usage monitoring system 2800 can integratewith mobile phone technology. The system can send critical messages in atimely manner, such as through an app that may be directly connected todispatchers, such as allowing the caller to request assistance.

In embodiments, the firearm usage monitoring system 2800 may provide adashboard for the dispatcher. The dashboard may include communicationand mapping features, such as to track the location of all weapons inreal-time, to highlight relevant events (such as weapons being gripped,weapons being raised, or weapons that have been discharged). Thedashboard may provide access information from other systems, such asmaking available camera views, such as ones that are triggered byactivation of body cameras or on-site cameras from the firearmmonitoring system or from the dashboard. In embodiments, the firearmusage monitoring system 2800 provides a dashboard for the supervisor. Inembodiments, the dashboard includes the communication system and mappingtechnology to track the location of all weapons in real-time. Inembodiments, the firearm usage monitoring system 2800 separates usersinto groups/echelons with designated permissions. In embodiments, thefirearm usage monitoring system 2800 provides a dashboard for one ormore of ground units, officers, military personnel, aninvestigator/compliance officer, and the like. The dashboard may includethe communication system and mapping technology to track the location ofall weapons in real-time.

In embodiments, the firearm usage monitoring system 2800 measures theparameters of the recoil and parameters of pre-shot movement. Thisallows an analysis of changes over time to determine the status of theweapon. The system can also capture movements and determine whether theuser is handling the weapon properly.

In embodiments, the firearm usage monitoring system 2800 may alert theuser should the weapon be pointed at another person with a trackingsystem. The firearm usage monitoring system 800 may also alert the usershould the weapon be pointed at another weapon, another deployed asset,another predefined target, raised quickly in a geo-defined zone, or thelike. This may help avoid friendly fire (fratricide) situations.

In embodiments, the firearm usage monitoring system 2800 integrates witha virtual, augmented, or heads-up display (HUD) reality system 3092including virtual, augmented reality, or HUD glasses. This integrationcan provide the user with vital information, including how many roundsof ammunition are left, such as based on tracking discharges over timeand comparing to known characteristics of a weapon, such as the size ofa magazine.

In embodiments, the firearm usage monitoring system 2800 includespredictive maintenance, such as determined by the number of shots taken.The system can alert when components need to be maintained or replaced.

In embodiments, the firearm usage monitoring system 2800 allows thenumber of shots fired to influence the resale value of the firearm.

In embodiments, the firearm usage monitoring system 2800 includespredictive maintenance based on recoil parameters (e.g., showing adegradation of performance as recoil patterns shift over time).

In embodiments, the firearm usage monitoring system 2800 includes apredictive resupply module 3094 based on the number of shots taken. Inembodiments, the firearm usage monitoring system 2800 indicates whenammunition needs to be re-supplied.

In embodiments, the firearm usage monitoring system 2800 accounts for aninventory of rounds used with the predictive resupply module 3094 thattracks the amount of ammunition used and alerts when the inventory andshots fired do not match indicating a loss of ammunition.

Methods and systems are provided for the installation of grips. Thefireguards can be removed to install the tracking system on to therails. Firearm grips have many ornamental features separate and distinctfrom their many functional features.

In embodiments, the firearm usage tracking system integrates an IMU intoa smart weapon (e.g., one with user authentication, such as based on apassword or other code, or a biometric authentication system).

In embodiments, the firearm usage monitoring system 2800 can include agrip-located IMU for a connected firearms platform.

In embodiments, the firearm usage monitoring system 2800 can integratewith artificial intelligence (AI) and Machine Learning. For example, AIcan provide predictive ammunition re-supply, such as measuring firerates and accounting for the delivery time of new ammunition.

In embodiments, the firearm usage monitoring system 2800 can integratewith virtual reality (VR) or augmented reality (AR) using, for example,a Microsoft® HoloLens® for training purposes. A virtual command centerfor a battlefield training session can be created.

In embodiments, the firearm usage monitoring system 2800 can provide VRand AR grip installation. VR video can be used to identify the platformand provide instruction on the removal and installation of grips and orother firearm parts.

In embodiments, the firearm usage monitoring system 2800 can supply datato an AR/VR system 1098 that included VR and AR headsets. This may allowusers to monitor inventory, rounds left in the magazine, and otherrelevant data including a map of the environment and surrounding unitsand objective markers.

In embodiments, the firearm usage monitoring system 2800 can havecustomizable grips provided through 3D printing or other manufacturingprocesses. Each individual can customize a style, color, texture,portions of shapes, concavity and convexity to better fit in the hand,changing knurled surfaces, combinations of textures and colors andpurposely different designs and configurations, etc. on one side thegrip relative to the other or make them mirror images of each other.

In embodiments, the methods and systems disclosed herein providebenefits to a wide number of users, including without limitation privateand commercial gun users. One such set of users comprises of managers offirst responder and law enforcement personnel, such as police chiefs andelected officials that manage officers and dispatchers.

A firearm which implements or otherwise integrates one or more of themethods and systems disclosed herein (e.g., one or more of the firearmusage monitoring system 2800, the firearm tracking system 2882, themachine learning system 3072, or another system) includes one or morestructures for performing or facilitating operations typical of afirearm, for example, for storing ammunition, firing one or moreprojectiles from the ammunition, controlling the storage and firing ofammunition, and more. In embodiments, a firearm which implements orotherwise integrates one or more of the methods and systems disclosedherein can include an action structure, a stock structure, and a barrelstructure. In embodiments, a firearm which implements or otherwiseintegrates one or more of the methods and systems disclosed herein caninclude one or more rails. A rail may, for example, be located on one ormore of, or proximate to one or more of, the action structure, the stockstructure, or the barrel structure.

FIGS. 20, 21 and 22 show a first example of a firearm 2020 whichimplements or otherwise integrates one or more of the methods andsystems disclosed herein (e.g., one or more of the firearm usagemonitoring system 2800, the firearm tracking system 2882, the machinelearning system 3072, or another system). However, the methods andsystems disclosed herein may be implemented or otherwise integratedwithin other types of firearms or other firearm form factors.

In embodiments, a firearm which implements or otherwise integrates oneor more of the systems disclosed herein (e.g., the firearm 2020, thefirearm 3100, or another firearm) can include structures other than anaction structure, a stock structure, a barrel structure, and/or one ormore rails. For example, in embodiments, such a firearm can include acylinder structure including multiple chambers for storing a projectileto be fired. For example, the firearm may be a revolver or anotherfirearm with a structure for rotating multiple chambers into alignmentwith the bore of the barrel structure. In another example, inembodiments, such a firearm may omit the stock structure. For example,the firearm may be a pistol or other handgun in which components such asthe grip and/or trigger are coupled to the rest of the firearm by astructure other than a stock structure. In another example, inembodiments, such a firearm may include a stock structure that omits thebutt. For example, the firearm may be a pistol or other handgun whichincludes a stock structure that structurally supports the actionstructure and/or the barrel structure, but in which contact with theuser is intended to be limited to the grip. It is to be understood thatother firearm embodiments as are currently known or which are laterdeveloped may be used to implement or otherwise integrate one or more ofthe methods and systems disclosed herein.

In embodiments, the firearm 104 is a smart weapon configured to preventdischarge if predetermined criteria are not met. For example, thefirearm 104 may be associated with a personal device, such as a mobiledevice, such that the firearm 104 will not discharge unless the mobiledevice is within a predetermined distance of the firearm. Beneficially,such coupling is also beneficial because the mobile device may be sentan alert if the firearm 104 is moved or otherwise altered while themobile device is more than a predetermined distance away. Beneficially,the firearm usage monitoring system or a connected system may be used tosend a temporary deactivation message to the firearm 104 (e.g., lawenforcement deactivating the firearm of an active shooter) to preventcriminal usage of the firearm. Further, the firearm 104 may be geofencedout of areas where legal firearm 104 usage is unlikely or poses a dangerto the user or others (e.g., public areas, crowded events, etc.).

The firearm may further include indicators on the weapon, such as aplurality of LEDs on the grip, that provide information to a user of thefirearm 104, such as an operating condition, malfunction condition,maintenance condition, etc.

Components used by one or more of the methods and systems disclosedherein may be located or otherwise positioned with respect to certainstructures and/or certain components of structures of a firearm (e.g.,the firearm 2020, the firearm 3100, or another firearm). For example, anIMU used by one or more of the methods and systems disclosed herein maybe coupled at one or more locations or positions of a firearm. Inembodiments, the IMU may be coupled to or included in the charginghandle. In embodiments, the IMU may be coupled to the forward assistcomponent. In embodiments, the IMU may be coupled to the gas operatingsystem. In embodiments, the IMU may be coupled to or included in thehammer. In embodiments, the IMU may be coupled to or included in aportion of the action structure other than as described above. Inembodiments, the IMU may be coupled to or included in the butt. Inembodiments, the IMU may be coupled to or included in the grip of thebutt. In embodiments, the IMU may be coupled to or included in the combof the butt. In embodiments, the IMU may be coupled to or included inthe hook coupled to the butt. In embodiments, the IMU may be coupled toor included in the fore-end. In embodiments, the IMU may be coupled toor included in a handguard of the fore-end. In embodiments, the IMU maybe coupled to or included in the trigger unit. In embodiments, the IMUmay be coupled to or included in the magazine well. In embodiments, theIMU may be coupled to or included in the magazine received in themagazine well. In embodiments, the IMU may be coupled to or included ina portion of the stock structure other than as described above. Inembodiments, the IMU may be coupled to the external surface of thechamber. In embodiments, the IMU may be coupled to the chamber at alocation or position other than the external surface. In embodiments,the IMU may be coupled to an exterior surface of the bore. Inembodiments, the IMU may be coupled to the bore at a location orposition other than the external surface. In embodiments, the IMU may becoupled to an external surface of the muzzle. In embodiments, the IMUmay be coupled to or included in an accessory device coupled to themuzzle, for example, in which the muzzle includes a coupling element(e.g., a threaded or other engagement) for coupling the accessory deviceto the muzzle. In embodiments, the accessory device may be coupled to aportion of an external surface of the barrel structure other than anexternal surface of the muzzle. In embodiments, the IMU may be coupledto or included in the muzzle at a location or position other than theexternal surface or the coupling element to which an accessory devicemay be coupled. In embodiments, the IMU may be coupled to or included ina portion of the barrel structure other than as described above. Inembodiments, the IMU may be coupled to or included in a scope coupled toa rail of the firearm. In embodiments, the IMU may be coupled to orincluded in a sight coupled to the rail. In embodiments, the IMU may becoupled to or included in a tactical light coupled to the rail. Inembodiments, the IMU may be coupled to or included in a vertical forwardgrip coupled to the rail. In embodiments, the IMU may be coupled to orincluded in a portion of a rail or an accessory coupled to a rail otherthan as described above. It is to be understood that examplesparticularly referring to the IMU do not limit the possible embodimentsof other components used by one or more of the methods and systemsdisclosed herein being coupled at one or more locations or positions ofa firearm.

In embodiments, components used by one or more of the methods andsystems disclosed herein which may be located within or otherwisepositioned with respect to the structures described above may, forexample, include an IMU. In embodiments, the IMU may be coupled to orincluded in outerwear. In embodiments, the IMU may be coupled to orincluded in a helmet. In embodiments, the IMU may be coupled to orincluded in an earpiece. In embodiments, the IMU may be coupled to orincluded in glasses. In embodiments, the IMU may be coupled to orincluded in one or more wristbands. In embodiments, the IMU may becoupled to or included in other wearable items. While examples ofparticular structures of a firearm and particular components ofstructures of a firearm are disclosed herein, such disclosure is notlimiting as to the possible structures of components of structures of afirearm or as to the possible locations or positionings of componentsused by the methods and systems disclosed herein with respect to thosestructures or those components of structures. Accordingly, it is to beunderstood that components used by one or more of the methods andsystems disclosed herein may be located or positioned in other locationsor positions in or about a firearm, regardless of the particularstructures disclosed herein by example.

Detailed embodiments of the present disclosure are disclosed herein;however, it is to be understood that the disclosed embodiments aremerely exemplary of the present disclosure, which may be embodied invarious forms. Therefore, specific structural and functional detailsdisclosed herein are not to be interpreted as limiting, but merely as abasis for the claims and as a representative basis for teaching oneskilled in the art to variously employ the present disclosure invirtually any appropriately detailed structure.

While only a few embodiments of the present disclosure have been shownand described, it will be obvious to those skilled in the art that manychanges and modifications may be made thereunto without departing fromthe spirit and scope of the present disclosure as described in thefollowing claims. All patent applications and patents, both foreign anddomestic, and all other publications referenced herein are incorporatedherein in their entireties to the full extent permitted by law.

The methods and systems described herein may be deployed in part or inwhole through a machine that executes computer software, program codes,and/or instructions on a processor. The present disclosure may beimplemented as a method on the machine, as a system or apparatus as partof or in relation to the machine, or as a computer program productembodied in a computer readable medium executing on one or more of themachines. In embodiments, the processor may be part of a server, cloudserver, client, network infrastructure, mobile computing platform,stationary computing platform, or other computing platforms. A processormay be any kind of computational or processing device capable ofexecuting program instructions, codes, binary instructions, and thelike. The processor may be or may include a signal processor, digitalprocessor, embedded processor, microprocessor or any variant such as aco-processor (math co-processor, graphic co-processor, communicationco-processor and the like) and the like that may directly or indirectlyfacilitate execution of program code or program instructions storedthereon. In addition, the processor may enable execution of multipleprograms, threads, and codes. The threads may be executed simultaneouslyto enhance the performance of the processor and to facilitatesimultaneous operations of the application. By way of implementation,methods, program codes, program instructions and the like describedherein may be implemented in one or more threads. The thread may spawnother threads that may have assigned priorities associated with them;the processor may execute these threads based on priority or any otherorder based on instructions provided in the program code. The processor,or any machine utilizing one, may include non-transitory memory thatstores methods, codes, instructions and programs as described herein andelsewhere. The processor may access a non-transitory storage mediumthrough an interface that may store methods, codes, and instructions asdescribed herein and elsewhere. The storage medium associated with theprocessor for storing methods, programs, codes, program instructions orother type of instructions capable of being executed by the computing orprocessing device may include but may not be limited to one or more of aCD-ROM, DVD, memory, hard disk, flash drive, RAM, ROM, cache, and thelike.

A processor may include one or more cores that may enhance speed andperformance of a multiprocessor. In embodiments, the process may be adual core processor, quad core processors, other chip-levelmultiprocessor and the like that combine two or more independent cores(called a die).

The methods and systems described herein may be deployed in part or inwhole through a machine that executes computer software on a server,client, firewall, gateway, hub, router, or other such computer and/ornetworking hardware. The software program may be associated with aserver that may include a file server, print server, domain server,internet server, intranet server, cloud server, and other variants suchas secondary server, host server, distributed server, and the like. Theserver may include one or more of memories, processors, computerreadable media, storage media, ports (physical and virtual),communication devices, and interfaces capable of accessing otherservers, clients, machines, and devices through a wired or a wirelessmedium, and the like. The methods, programs, or codes as describedherein and elsewhere may be executed by the server. In addition, otherdevices required for the execution of methods as described in thisapplication may be considered as a part of the infrastructure associatedwith the server.

The server may provide an interface to other devices including, withoutlimitation, clients, other servers, printers, database servers, printservers, file servers, communication servers, distributed servers,social networks, and the like. Additionally, this coupling and/orconnection may facilitate remote execution of program across thenetwork. The networking of some or all of these devices may facilitateparallel processing of a program or method at one or more locationswithout deviating from the scope of the present disclosure. In addition,any of the devices attached to the server through an interface mayinclude at least one storage medium capable of storing methods,programs, code and/or instructions. A central repository may provideprogram instructions to be executed on different devices. In thisimplementation, the remote repository may act as a storage medium forprogram code, instructions, and programs.

The software program may be associated with a client that may include afile client, print client, domain client, internet client, intranetclient and other variants such as secondary client, host client,distributed client, and the like. The client may include one or more ofmemories, processors, computer readable media, storage media, ports(physical and virtual), communication devices, and interfaces capable ofaccessing other clients, servers, machines, and devices through a wiredor a wireless medium, and the like. The methods, programs, or codes asdescribed herein and elsewhere may be executed by the client. Inaddition, other devices required for execution of methods as describedin this application may be considered as a part of the infrastructureassociated with the client.

The client may provide an interface to other devices including, withoutlimitation, servers, other clients, printers, database servers, printservers, file servers, communication servers, distributed servers, andthe like. Additionally, this coupling and/or connection may facilitateremote execution of program across the network. The networking of someor all of these devices may facilitate parallel processing of a programor method at one or more locations without deviating from the scope ofthe present disclosure. In addition, any of the devices attached to theclient through an interface may include at least one storage mediumcapable of storing methods, programs, applications, code and/orinstructions. A central repository may provide program instructions tobe executed on different devices. In this implementation, the remoterepository may act as a storage medium for program code, instructions,and programs.

The methods and systems described herein may be deployed in part or inwhole through network infrastructures. The network infrastructure mayinclude elements such as computing devices, servers, routers, hubs,firewalls, clients, personal computers, communication devices, routingdevices and other active and passive devices, modules and/or componentsas known in the art. The computing and/or non-computing device(s)associated with the network infrastructure may include, apart from othercomponents, a storage medium such as flash memory, buffer, stack, RAM,ROM, and the like. The processes, methods, program codes, instructionsdescribed herein and elsewhere may be executed by one or more of thenetwork infrastructural elements. The methods and systems describedherein may be adapted for use with any kind of private, community, orhybrid cloud computing network or cloud computing environment, includingthose which involve features of SaaS products, PaaS products, and/orinfrastructure as a service (IaaS) products.

The methods, program codes, and instructions described herein andelsewhere may be implemented on a cellular network having multiplecells. The cellular network may either be FDMA network or CDMA network.The cellular network may include mobile devices, cell sites, basestations, repeaters, antennas, towers, and the like. The cell networkmay be a GSM, GPRS, 3G, 4G, 5G, EVDO, mesh, or other networks types.

The methods, program codes, and instructions described herein andelsewhere may be implemented on or through mobile devices. The mobiledevices may include navigation devices, cell phones, mobile phones,PDAs, laptops, palmtops, netbooks, pagers, electronic book readers,music players and the like. These devices may include, apart from othercomponents, a storage medium such as a flash memory, buffer, RAM, ROMand one or more computing devices. The computing devices associated withmobile devices may be enabled to execute program codes, methods, andinstructions stored thereon. Alternatively, the mobile devices may beconfigured to execute instructions in collaboration with other devices.The mobile devices may communicate with base stations interfaced withservers and configured to execute program codes. The mobile devices maycommunicate on a peer-to-peer network, mesh network, or othercommunications network. The program code may be stored on the storagemedium associated with the server and executed by a computing deviceembedded within the server. The base station may include a computingdevice and a storage medium. The storage device may store program codesand instructions executed by the computing devices associated with thebase station.

The computer software, program codes, and/or instructions may be storedand/or accessed on machine readable media that may include: computercomponents, devices, and recording media that retain digital data usedfor computing for some interval of time; semiconductor storage known asRAM; mass storage typically for more permanent storage, such as opticaldiscs, forms of magnetic storage like hard disks, tapes, drums, cardsand other types; processor registers, cache memory, volatile memory,non-volatile memory; optical storage such as CD, DVD; removable mediasuch as flash memory (e.g. USB sticks or keys), floppy disks, magnetictape, paper tape, punch cards, standalone RAM disks, Zip drives,removable mass storage, off-line, and the like; other computer memorysuch as dynamic memory, static memory, read/write storage, mutablestorage, read only, random access, sequential access, locationaddressable, file addressable, content addressable, network attachedstorage, storage area network, bar codes, magnetic ink, and the like.

The methods and systems described herein may transform physical and/orintangible items from one state to another. The methods and systemsdescribed herein may also transform data representing physical and/orintangible items from one state to another.

The elements described and depicted herein, including in flow charts andblock diagrams throughout the figures, imply logical boundaries betweenthe elements. However, according to software or hardware engineeringpractices, the depicted elements and the functions thereof may beimplemented on machines through computer executable media having aprocessor capable of executing program instructions stored thereon as amonolithic software structure, as standalone software modules, or asmodules that employ external routines, code, services, and so forth, orany combination of these, and all such implementations may be within thescope of the present disclosure. Examples of such machines may include,but may not be limited to, PDAs, laptops, personal computers, mobilephones, other handheld computing devices, medical equipment, wired orwireless communication devices, transducers, chips, calculators,satellites, tablet PCs, electronic books, gadgets, electronic devices,devices having artificial intelligence, computing devices, networkingequipment, servers, routers, and the like. Furthermore, the elementsdepicted in the flow chart and block diagrams or any other logicalcomponent may be implemented on a machine capable of executing programinstructions. Thus, while the foregoing drawings and descriptions setforth functional aspects of the disclosed systems, no particulararrangement of software for implementing these functional aspects shouldbe inferred from these descriptions unless explicitly stated orotherwise clear from the context. Similarly, it will be appreciated thatthe various steps identified and described above may be varied, and thatthe order of steps may be adapted to particular applications of thetechniques disclosed herein. All such variations and modifications areintended to fall within the scope of this disclosure. As such, thedepiction and/or description of an order for various steps should not beunderstood to require a particular order of execution for those steps,unless required by a particular application, or explicitly stated orotherwise clear from the context.

The methods and/or processes described above, and steps associatedtherewith, may be realized in hardware, software or any combination ofhardware and software suitable for a particular application. Thehardware may include a general-purpose computer and/or dedicatedcomputing device or specific computing device or particular aspect orcomponent of a specific computing device. The processes may be realizedin one or more microprocessors, microcontrollers, embeddedmicrocontrollers, programmable digital signal processors or otherprogrammable devices, along with internal and/or external memory. Theprocesses may also, or instead, be embodied in an application specificintegrated circuit, a programmable gate array, programmable array logic,or any other device or combination of devices that may be configured toprocess electronic signals. It will further be appreciated that one ormore of the processes may be realized as a computer executable codecapable of being executed on a machine-readable medium.

The computer executable code may be created using a structuredprogramming language such as C, an object oriented programming languagesuch as C++, or any other high-level or low-level programming language(including assembly languages, hardware description languages, anddatabase programming languages and technologies) that may be stored,compiled or interpreted to run on one of the above devices, as well asheterogeneous combinations of processors, processor architectures, orcombinations of different hardware and software, or any other machinecapable of executing program instructions.

Thus, in one aspect, methods described above and combinations thereofmay be embodied in computer executable code that, when executing on oneor more computing devices, performs the steps thereof. In anotheraspect, the methods may be embodied in systems that perform the stepsthereof and may be distributed across devices in a number of ways, orall of the functionality may be integrated into a dedicated, standalonedevice or other hardware. In another aspect, the means for performingthe steps associated with the processes described above may include anyof the hardware and/or software described above. All such permutationsand combinations are intended to fall within the scope of the presentdisclosure.

While the present disclosure has been disclosed in connection with thepreferred embodiments shown and described in detail, variousmodifications and improvements thereon will become readily apparent tothose skilled in the art. Accordingly, the spirit and scope of thepresent disclosure is not to be limited by the foregoing examples, butis to be understood in the broadest sense allowable by law.

The use of the terms “a,” “an,” “the,” and/or similar referents in thecontext of describing the present disclosure (especially in the contextof the following claims) is to be construed to cover both the singularand the plural unless otherwise indicated herein or clearly contradictedby context. The terms “comprising,” “having,” “including,” and/or“containing” are to be construed as open-ended terms (i.e., meaning“including, but not limited to”) unless otherwise noted. Recitations ofranges of values herein are merely intended to serve as a shorthandmethod of referring individually to each separate value falling withinthe range, unless otherwise indicated herein, and each separate value isincorporated into the specification as if it were individually recitedherein. All methods described herein can be performed in any suitableorder unless otherwise indicated herein or otherwise clearlycontradicted by context. The use of any and all examples, or exemplarylanguage (e.g., “such as”) provided herein, is intended merely to betterilluminate the present disclosure and does not pose a limitation on thescope of the present disclosure unless otherwise claimed. No language inthe specification should be construed as indicating any non-claimedelement as essential to the practice of the present disclosure.

While the foregoing written description enables one skilled in the artto make and use what is considered presently to be the best modethereof, those skill in the art will understand and appreciate theexistence of variations, combinations, and equivalents of the specificembodiment, method, and examples herein. The present disclosure shouldtherefore not be limited by the above-described embodiment, method, andexamples, but by all embodiments and methods within the scope and spiritof the present disclosure.

Any element in a claim that does not explicitly state “means for”performing a specified function, or “step for” performing a specifiedfunction, is not to be interpreted as a “means” or “step” clause asspecified in 35 U.S.C. § 112 (f). In particular, any use of “step of inthe claims is not intended to invoke the provision of 35 U.S.C. § 112(f).

Persons skilled in the art may appreciate that numerous designconfigurations may be possible to enjoy the functional benefits of theinventive systems. Thus, given the wide variety of configurations andarrangements of embodiments of the present disclosure the scope of theinventions are reflected by the breadth of the claims below rather thannarrowed by the embodiments described above.

What is claimed is:
 1. A system for monitoring geolocations of weapons, the system comprising: a plurality of weapons within a deployment location, wherein each of the weapons includes one or more sensors that produce more or more signals; a response infrastructure configured for management of the weapons, wherein the response infrastructure stores at least one rule regarding a permitted weapon geolocation; a server device running application software that uses the one or more signals received from each of the weapons to detect a geolocation of a weapon and causes the response infrastructure to determine if the detected geolocation of the weapon conforms to the stored rule regarding the permitted weapon geolocation; and a threat detection and analysis module that performs an action based on a confirmation that the detected geolocation of the weapon does not conform to the stored rule regarding the permitted weapon geolocation.
 2. Further comprising the system of claim 1, wherein a plurality of connection points within the deployment location, each configured to receive the signals produced at one or more weapons proximate to at least one of the connection points within the deployment location, wherein each connection point of the plurality of connection points is further configured to communicate the received signals to the server device.
 3. The system of claim 2, wherein one or more mobile computing devices intermediate to the plurality of connection points receives the signals from at least one of the weapons, and at least one of the connection points receive the signals from the at least one mobile computing device.
 4. The system of claim 3, wherein peer-to-peer communications between the one or more mobile computing devices are enabled using the plurality of connection points.
 5. The system of claim 2, wherein at least one of the plurality of connection points is a weapon among the plurality of weapons.
 6. The system of claim 2, wherein at least some of the connection points batch the signals and communicate the batches to the server device, wherein the application software processes the batches to detect a threat within the deployment location.
 7. The system of claim 2, wherein at least some of the connection points batch the signals based on times at which the signals are received from the one or more weapons.
 8. The system of claim 5, wherein the at least some of the connection points batch the signals based on types of the firearms from which the signals are received.
 9. The system of claim 2, wherein the plurality of connection points form a mesh network for extending communication coverage within the deployment location.
 10. The system of claim 9, wherein at least one of the plurality of weapons connects to the mesh network and produces at least one signal that is communicated to the server device using one of the connection points of the plurality of connection points.
 11. The system of claim 2, wherein each connection point of the plurality of connection points is configured to receive the at least some of the signals based on proximities of one or more non-weapon assets to the connection point.
 12. The system of claim 1, wherein the sensors include one or more of geolocation sensors, image sensors, or inertial motion sensors.
 13. The system of claim 1, wherein the action is to present a virtual reality depiction, within a graphical user interface, of the geolocation of the weapon that does not conform to the stored rule regarding the permitted weapon geolocation.
 14. The system of claim 13, wherein the virtual reality depiction is represented in the graphical user interface based on measurements recorded using the plurality of weapons.
 15. The system of claim 13, wherein the graphical user interface includes one or more virtual reality depictions including a top-down geographic view of the deployment location, wherein the detected geolocation of the weapon does not conform to the stored rule is represented.
 16. The system of claim 15, wherein the one or more virtual reality depictions further include one or more of a three-dimensional weapon orientation view, a two-dimensional tracking view, or a user body camera feed view.
 17. The system of claim 13, wherein the virtual reality depiction includes a legend of icons represented within the graphical user interface, the icons corresponding to one or more controllers of the weapons, a detected threat, or both.
 18. A system for monitoring geolocations of weapons, the system comprising: a plurality of sensors configured to record location information related to a weapon; a communication interface configured to transmit data to a connected device; and a controller operatively coupled to the communication interface and the plurality of sensors, the controller running application software configured to: repeatedly determine whether a criterion related to the location of the weapon is satisfied; operate, in response to the criterion being satisfied, the weapon in an active state, wherein the active state allows the weapon to discharge; and switch, in response to the criterion being unsatisfied, the weapon from the active state to an inactive state, wherein the inactive state disallows the weapon to discharge.
 19. The system of claim 18, wherein the criterion is the presence of the weapon within, or outside of, a geofence.
 20. The system of claim 18, wherein the switch to an inactive state generates an alert to a third party. 